git fetch 和git pull 的差別
阿新 • • 發佈:2020-07-13
1、簡單概括
先用一張圖來理一下git fetch
和git pull
的概念:
可以簡單的概括為:
git fetch
是將遠端主機的最新內容拉到本地,使用者在檢查了以後決定是否合併到工作本機分支中。
而git pull
則是將遠端主機的最新內容拉下來後直接合並,即:git pull = git fetch + git merge
,這樣可能會產生衝突,需要手動解決。
2、git fetch 相當於是從遠端獲取最新到本地,不會自動merge,如下指令:
git fetch orgin master //將遠端倉庫的master分支下載到本地當前branch中 git log -p master ..origin/master //比較本地的master分支和origin/master分支的差別 git merge origin/master //進行合併
也可以用以下指令:
git fetch origin master:tmp //從遠端倉庫master分支獲取最新,在本地建立tmp分支 git diff tmp //將當前分支和tmp進行對比 git merge tmp //合併tmp分支到當前分支
3.git pull:相當於是從遠端獲取最新版本並merge到本地
git pull origin master
git pull 相當於從遠端獲取最新版本並merge到本地
在實際使用中,git fetch更安全一些