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前,我們可以查看更新情況,然后再決定是否合并