[摘自git官方] 官方文檔地址
跟蹤分支是與遠程分支有直接關係的本地分支。 如果在一個跟蹤分支上輸入
git pull
,Git 能自動地識別去哪個服務器上抓取、合併到哪個分支。
創建分支時 本地分支與遠程分支設置爲不同名字,自動跟蹤:git checkout -b [branch] [remotename]/[branch]
設置已有的本地分支跟蹤一個剛剛拉取下來的遠程分支,或者想要修改正在跟蹤的上游分支,你可以在任意時間使用
-u
或--set-upstream-to
選項運行git branch
來顯式地設置。設置已有的本地分支跟蹤一個剛剛拉取下來的遠程分支
git branch -u origin/serverfix
修改正在跟蹤的上游分支
git branch --set-upstream-to=origin/branch-name branch-name
如果想要查看設置的所有跟蹤分支,可以使用
git branch
的-vv
選項。 這會將所有的本地分支列出來並且包含更多的信息,如每一個分支正在跟蹤哪個遠程分支與本地分支是否是領先、落後或是都有。$ git branch -vv iss53 7e424c3 [origin/iss53: ahead 2] forgot the brackets master 1ae2a45 [origin/master] deploying index fix * serverfix f8674d9 [teamone/server-fix-good: ahead 3, behind 1] this should do it testing 5ea463a trying something new
iss53
分支: 正在跟蹤origin/iss53
並且 “ahead” 是 2,意味着本地有兩個提交還沒有推送到服務器上。
master
分支:正在跟蹤origin/master
分支並且是最新的。
serverfix
分支:正在跟蹤teamone
服務器上的server-fix-good
分支並且領先 3 落後 1,意味着服務器上有一次提交還沒有合併入同時本地有三次提交還沒有推送。
testing
分支:並沒有跟蹤任何遠程分支。注意: 這些數字的值來自於你從每個服務器上最後一次抓取的數據。如果想要統計最新的領先與落後數字,需要在運行此命令前抓取所有的遠程倉庫。 可以像這樣做:
$ git fetch --all; git branch -vv