4 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
該P(yáng)roGit本書有一個(gè)很好的解釋:
跟蹤分支
從遠(yuǎn)程分支簽出本地分支會(huì)自動(dòng)創(chuàng)建所謂的跟蹤分支。跟蹤分支是與遠(yuǎn)程分支有直接關(guān)系的本地分支。如果你在跟蹤分支上并輸入git push,Git會(huì)自動(dòng)知道要推送到哪個(gè)服務(wù)器和分支。此外,在其中一個(gè)分支上運(yùn)行g(shù)it pull會(huì)獲取所有遠(yuǎn)程引用,然后自動(dòng)合并到相應(yīng)的遠(yuǎn)程分支中。
克隆存儲(chǔ)庫(kù)時(shí),它通常會(huì)自動(dòng)創(chuàng)建跟蹤origin / master的主分支。這就是為什么git push和git pull開箱即用而沒(méi)有其他參數(shù)。但是,您可以根據(jù)需要設(shè)置其他跟蹤分支 - 不跟蹤原點(diǎn)分支但不跟蹤主分支的分支。這個(gè)簡(jiǎn)單的例子就是你剛看到,運(yùn)行的例子git checkout -b [branch] [remotename]/[branch]。如果你有Git 1.6.2或更高版本,你也可以使用--track速記:
$ git checkout --track origin/serverfix
Branch serverfix set up to track remote branch refs/remotes/origin/serverfix.
Switched to a new branch "serverfix"
要設(shè)置名稱與遠(yuǎn)程分支不同的本地分支,可以輕松地使用具有不同本地分支名稱的第一個(gè)版本:
$ git checkout -b sf origin/serverfix
Branch sf set up to track remote branch refs/remotes/origin/serverfix.
Switched to a new branch "sf"
現(xiàn)在,您的本地分支sf將自動(dòng)推送和拉出origin/serverfix。

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
Pro Git書中 提到:
跟蹤分支是與遠(yuǎn)程分支有直接關(guān)系的本地分支
不完全是。SO問(wèn)題“ 難以理解git-fetch ”包括:
沒(méi)有本地跟蹤分支的概念,只有遠(yuǎn)程跟蹤分支。
所以origin/master是一個(gè)遠(yuǎn)程跟蹤分行master的origin回購(gòu)。
但實(shí)際上,一旦你建立了上游分支關(guān)系:
像當(dāng)?shù)氐囊粋€(gè)分支 master
和遠(yuǎn)程跟蹤分支一樣 origin/master
然后,您可以將其master視為本地跟蹤分支:它跟蹤遠(yuǎn)程跟蹤分支 origin/master,該分支又跟蹤上游存儲(chǔ)庫(kù) 的主分支origin。

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
以下是關(guān)于GIT跟蹤分支機(jī)構(gòu)的個(gè)人學(xué)習(xí)筆記,希望它對(duì)未來(lái)的訪問(wèn)者有所幫助:
跟蹤分支和“git fetch”:

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
這就是我添加跟蹤分支的方式,以便我可以從它進(jìn)入我的新分支:
git branch --set-upstream-to origin/Development new-branch
- 4 回答
- 0 關(guān)注
- 1953 瀏覽
添加回答
舉報(bào)