3 回答

TA貢獻1862條經(jīng)驗 獲得超6個贊
克隆遠程存儲庫并運行g(shù)it branch -a(以顯示git知道的所有分支)。它可能看起來像這樣:
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
這master是本地存儲庫中的一個分支。 remotes/origin/master是在名為master的遠程上命名的分支origin。您可以將其稱為origin/master,如:
git diff origin/master..master
您也可以將其稱為remotes/origin/master:
git diff remotes/origin/master..master
這只是引用同一事物的兩種不同方式(順便說一句,這兩個命令的意思是“向我展示遠程master分支和我的master分支之間的更改)。
remotes/origin/HEAD是default branch名為的遙控器的origin。這使您可以簡單地說origin而不是origin/master。

TA貢獻1833條經(jīng)驗 獲得超4個贊
對于像我這樣的假人的簡短回答(從Torek偷來的):
來源/管理員是“我上次檢查管理員在那兒的地方”
主人是“根據(jù)我一直在做什么,主人在這里”

TA貢獻1851條經(jīng)驗 獲得超4個贊
技術(shù)上不會有任何實際的“遠程”東西都1,在你自己的Git回購,也有只是本地名稱應該對應于另一個名字,不同的回購。origin/whatever最初命名的將與您從中克隆的回購中的那些相匹配:
git clone ssh://some.where.out.there/some/path/to/repo # or git://some.where...
制作另一個倉庫的本地副本。一路上,它會記錄在那里的所有分支,并提交那些引用,并將這些分支以名稱粘貼到您的本地倉庫中refs/remotes/origin/。
根據(jù)您花了多長時間git fetch才能更新“我在某處某處的副本”,他們可能會更改其分支,創(chuàng)建新分支并刪除一些分支。當您執(zhí)行自己的操作git fetch(或git pull實際上是獲取加合并操作)時,您的存儲庫將復制其新作品并refs/remotes/origin/<name>根據(jù)需要更改所有條目。正是fetching 的那一刻使所有東西都匹配了(嗯,那個和最初的克隆,還有一些pushing的情況-基本上是每當Git有機會檢查的時候,但是請注意下面的警告)。
Git通常讓您將自己的refs/heads/<name>稱為Just <name>,將遠程的稱為origin/<name>,這都可以正常工作,因為很明顯哪個是哪個。有時可以創(chuàng)建您自己的分支名稱,使其不明顯,但是在它發(fā)生之前不必擔心。:-)只要給Git最短的名字就可以使它變得顯而易見,它就會從那里開始:origin/master是“上次我檢查師父在那邊的地方”,master也是“根據(jù)我的所作所為師傅在那兒的地方” 。根據(jù)需要運行g(shù)it fetch以在“ master在那里”上更新Git。
警告:在低于1.8.4的Git版本中,git fetch有些模式不會更新“ master在那兒”(更準確地說,是不會更新任何遠程跟蹤分支的模式)。跑步git fetch origin,或者git fetch --all,甚至只是git fetch,不更新。跑步git fetch origin master 沒有。不幸的是,這種“不更新”模式是由普通觸發(fā)的git pull。(這主要是一個小麻煩,已在Git 1.8.4及更高版本中修復。)
1好吧,有一件事叫做 “遠程”。但這也是本地的!名稱origin就是Git所說的“遠程”。它基本上只是克隆時使用的URL的縮寫。這也是originin的origin/master來源。該名稱origin/master稱為“ 遠程跟蹤分支”,有時會縮寫為“遠程分支”,尤其是在較早或更正式的文檔中。
- 3 回答
- 0 關(guān)注
- 520 瀏覽
添加回答
舉報