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
從遠程獲取最新的版本到本地的 tmp 分支上,之后再進行 比較、合並
2. git pull:相當於是從遠程獲取最新版本並 merge 到本地
git pull origin master
上述命令其實相當於 git fetch + git merge
,
在實際使用中,git fetch 更安全一些,因為在 merge 前,我們可以查看更新情況,然后再決定是否合並。
為了更好的理解,畫了個圖: