玩转GIT系列之【git pull和git fetch的区别】
大家都知道,git中從遠(yuǎn)程的分支獲取最新的版本到本地有2個命令,git pull和git fetch。但是,這兩個命令究竟有什么區(qū)別?使用時候該怎么選擇呢?很多人不是很清楚,我自己也不是很清楚。今天就特地從網(wǎng)上找了些相關(guān)資料,進(jìn)行了總結(jié),便于以后查閱。
1、git fetch
從遠(yuǎn)程拉取最新的版本到本地倉庫,但是不會自動merge。fetch之后,如果沒有后續(xù)的merge操作,那么你看到的代碼仍然是你自己修改的代碼,而不是最新的服務(wù)器端的代碼。所以,嚴(yán)格來說,如果要把服務(wù)器端的代碼真正合并到你的分支上,你需要執(zhí)行以下幾個步驟:
git fetch origin master git log -p master..origin/master git merge origin/master以上命令的含義:
首先從遠(yuǎn)程的origin的master主分支下載最新的版本到origin/master分支上。
然后查看日志,比較本地的master分支和origin/master分支的差別。
最后進(jìn)行合并。
上述過程其實(shí)可以用以下更清晰的方式來進(jìn)行:
git fetch origin master:tmp git diff tmp git merge tmp從遠(yuǎn)程獲取最新的版本到本地的tmp分支上。
之后再進(jìn)行比較合并。
2、git pull
相當(dāng)于是從遠(yuǎn)程獲取最新版本并立即merge到本地的版本上。
git pull origin master上述命令其實(shí)相當(dāng)于git fetch 和 git merge,兩個操作一步到位。
注意:在實(shí)際使用中,git fetch更安全一些。
因?yàn)樵趍erge前,我們可以查看更新情況,然后再決定是否合并。
總結(jié)
以上是生活随笔為你收集整理的玩转GIT系列之【git pull和git fetch的区别】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下shell命令别名(alia
- 下一篇: 如何利用Excel设计一个唱票统计系统?