1.git fetch
git fetch 相當(dāng)于是從遠(yuǎn)程獲取最新到本地,不會(huì)自動(dòng)merge
//將遠(yuǎn)程倉(cāng)庫(kù)的master分支下載到本地當(dāng)前branch中
git fetch orgin master
//比較本地的master分支和origin/master分支的差別
git log -p master ..origin/master
//進(jìn)行合并
git merge origin/master
也可以這樣
//從遠(yuǎn)程倉(cāng)庫(kù)master分支獲取最新,在本地建立tmp分支
git fetch origin master:tmp
//將當(dāng)前分支和tmp進(jìn)行對(duì)比
git diff tmp
//合并tmp分支到當(dāng)前分支
git merge tmp
2.git pull
相當(dāng)于是從遠(yuǎn)程獲取最新版本并merge到本地
git pull origin master
可以這么說(shuō):
git pull = git fetch + git merge
在實(shí)際運(yùn)用中,git fetch比git pull更安全一些,因?yàn)槲覀兛梢韵缺容^本地與遠(yuǎn)程的區(qū)別后,選擇性的合并
3.fetch和pull對(duì)比
fetch和push命令可以分別對(duì)遠(yuǎn)程分支進(jìn)行fetch和push操作,而pull不是直接跟遠(yuǎn)程分支對(duì)話的。