git pull命令的做用是,取回遠程主機某個分支的更新,再與本地的指定分支合併。它的完整格式稍稍有點複雜。git
$ git pull <遠程主機名> <遠程分支名>:<本地分支名>
好比,取回origin主機的next分支,與本地的master分支合併,須要寫成下面這樣。fetch
$ git pull origin next:master
若是遠程分支是與當前分支合併,則冒號後面的部分能夠省略。rem
$ git pull origin next
上面命令表示,取回origin/next分支,再與當前分支合併。實質上,這等同於先作git fetch,再作git merge。it
$ git fetch origin $ git merge origin/next
在某些場合,Git會自動在本地分支與遠程分支之間,創建一種追蹤關係(tracking)。好比,在git clone的時候,全部本地分支默認與遠程主機的同名分支,創建追蹤關係,也就是說,本地的master分支自動」追蹤」origin/master分支。ast
Git也容許手動創建追蹤關係。stream
git branch --set-upstream master origin/next
上面命令指定master分支追蹤origin/next分支。next
若是當前分支與遠程分支存在追蹤關係,git pull就能夠省略遠程分支名。遠程
$ git pull origin
上面命令表示,本地的當前分支自動與對應的origin主機」追蹤分支」(remote-tracking branch)進行合併。ps
若是當前分支只有一個追蹤分支,連遠程主機名均可以省略。分支
$ git pull
上面命令表示,當前分支自動與惟一一個追蹤分支進行合併。
若是合併須要採用rebase模式,能夠使用–rebase選項。
$ git pull --rebase <遠程主機名> <遠程分支名>:<本地分支名>