Git fetch和git pull的區別

wangkangluo1發表於2014-03-04

原文: http://www.tech126.com/git-fetch-pull/ 

Git中從遠端的分支獲取最新的版本到本地有這樣2個命令:
1. git fetch:相當於是從遠端獲取最新版本到本地,不會自動merge

    



git fetch origin master
git log -p master..origin/master
git merge origin/master

 


 

    以上命令的含義:
   首先從遠端的origin的master主分支下載最新的版本到origin/master分支上
   然後比較本地的master分支和origin/master分支的差別
   最後進行合併
   上述過程其實可以用以下更清晰的方式來進行:


git fetch origin master:tmp
git diff tmp 
git merge tmp

 


 

    從遠端獲取最新的版本到本地的test分支上
   之後再進行比較合併
2. git pull:相當於是從遠端獲取最新版本並merge到本地

git pull origin master

上述命令其實相當於git fetch 和 git merge
在實際使用中,git fetch更安全一些
因為在merge前,我們可以檢視更新情況,然後再決定是否合併
結束

相關文章