1. 程式人生 > 實用技巧 >git fetch 和git pull 的差別

git fetch 和git pull 的差別

1、簡單概括

先用一張圖來理一下git fetchgit 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更安全一些