git fetch 是從遠程倉庫下載新分支與數據 git
git pull 是從遠程倉庫提取數據並嘗試合併到當前分支 fetch
總結:git fetch + git merge = git pull spa
$ git fetch origin branch1 若是遠程分支branch1不存在本地,則會將該分支上的數據合併到當前分且不會產生新分支.若是分支存在,則會將該分支上的數據合併到當前分支 有分歧 指針
$ git fetch origin test1:test2 將fetch到的數據拉取到放到新的空的test2分支,test1是本地當前所在的分支 it
$ git diff test2 查看和test2的區別 ast
$ git merge test2 將test2的內容合併到當前分支 test
使用遠程branch1分支在本地建立branch2(但不會切換到該分支),
若是本地不存在branch2分支, 則會自動建立一個新的branch2分支,
若是本地存在branch2分支, 而且是`fast forward', 則自動合併兩個分支, 不然, 會阻止以上操做. 下載
git fetch origin :branch2 總結
等價於: git fetch origin master:branch2 數據
當前分支合併到另外一分支時,若是沒有分歧解決,就會直接移動文件指針。這個過程叫作fast forward。