http://blog.csdn.net/arkblue/article/details/9790129
從遠(yuǎn)程分支 checkout 出來的本地分支吏奸,稱為_跟蹤分支(tracking branch)_。跟蹤分支是一種和遠(yuǎn)程分支有直接聯(lián)系的本地分支导帝。在跟蹤分支里輸入Git push地消,Git 會自行推斷應(yīng)該向哪個服務(wù)器的哪個分支推送數(shù)據(jù)废赞。反過來虎眨,在這些分支里運(yùn)行g(shù)it pull 會獲取所有遠(yuǎn)程索引弟劲,并把它們的數(shù)據(jù)都合并到本地分支中來祷安。在克隆倉庫時,Git 通常會自動創(chuàng)建一個名為 master 的分支來跟蹤 origin/master兔乞。這正是git push 和 git pull 一開始就能正常工作的原因汇鞭。當(dāng)然,你可以隨心所欲地設(shè)定為其它跟蹤分支庸追,比如origin 上除了 master 之外的其它分支霍骄。剛才我們已經(jīng)看到了這樣的一個例子:git checkout -b [分支名] [遠(yuǎn)程名]/[分支名]。[plain] view plain copyshuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (master)? $ git checkout --track origin/br-2.1.2.1? Branch br-2.1.2.1 set up to track remote branch br-2.1.2.1 from origin.? Switched to a new branch 'br-2.1.2.1'? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.1)? $ git status? # On branch br-2.1.2.1? nothing to commit, working directory clean? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.1)? $ git br? * br-2.1.2.1? ? br-2.1.2.2? ? master? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.1)? 刪掉剛才track的分支[plain] view plain copyshuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (master)? $ git br? ? br-2.1.2.1? ? br-2.1.2.2? * master? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (master)? $ git status? # On branch master? nothing to commit, working directory clean? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (master)? $ git branch -d br-2.1.2.1? warning: deleting branch 'br-2.1.2.1' that has been merged to? ? ? ? ? 'refs/remotes/origin/br-2.1.2.1', but not yet merged to HEAD.? Deleted branch br-2.1.2.1 (was cec094b).? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (master)? $ git br -v? ? br-2.1.2.2 1dfeab3 [behind 9] 升級META客戶端2.1.4.4? * master? ? 89700a3 optimize upload file? 使用checkout命令淡溯,創(chuàng)建新的分支 br-2.1.2.1读整,跟蹤遠(yuǎn)程的origin/br-2.1.2.1[plain] view plain copyshuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (master)? $git checkout -b br-2.1.1.1? origin/br-2.1.2.1Branch br-2.1.1.1 set up to track remote branch br-2.1.2.1 from origin.? Switched to a new branch 'br-2.1.1.1'? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.1.1)? $ git status? # On branch br-2.1.1.1? nothing to commit, working directory clean? ? shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.1.1)? ? $ git branch -a? * br-2.1.1.1? ? br-2.1.2.2? ? master? ? remotes/origin/HEAD -> origin/master? ? remotes/origin/br-2.1.2.1? ? remotes/origin/br-2.1.2.2? ? remotes/origin/br-2.1.3? ? remotes/origin/master