git中branch有三種類型:
1.local branch
本地分支,就是我們平常操作的分支,git中默認是master分支
可以通過 git branch b1 來建立本地分支,通過 git checkout b1 來切換分支
2.tracking branch
引用
A 'tracking branch' in Git is a local branch that is connected to a remote branch. When you pull on that branch, it automatically pulls to the remote branch that it is connected with.
跟蹤分支是一種和遠程分支有直接聯繫的本地分支(遠程分支的本地書籤、別名),
跟蹤分支是一種本地分支!
當我們在跟蹤分支上使用git pull命令,會自動從相應的remote branch上fetch,然後在merge到該分支上
如果我們想在跟蹤分支上直接使用git push命令,讓它自動push到對應的remote branch上
還需要設置push的默認行爲:
git config push.default tracking
當我們使用git clone命令後,會自動在本地建立一個master的分支來跟蹤origin/master 我們也可以使用
git checkout -b b1 origin/master
或者
git checkout --track -b develop origin/develop
命令來手工新建一個跟蹤分支develop,並切換到該分支上(該本地develop 對應origin/develop)
如果我們想把已經存在的一個分支b2轉換成一個tracking branch,需要
git config branch.b2.remote origin
git config branch.b2.merge refs/heads/master
或者,我們手工修改~/.git/config文件 下面是一個tracking branch的配置信息
[branch "master"]
remote = origin
merge = refs/heads/master
3.remote branch 它實際上是指向遠端服務器的某個分支,用來跟蹤遠程分支的變化, 也即以前提到過的origin/master分支