從百度上看到不少關於git fetch 和 git pull 的不一樣git
實踐一下:github
從github上新建一個項目try,copy到本地。shell
在github網站裏修改readme.txt文件,新增長一句【alter readme】fetch
在本地倉庫的readme.txt也新增長一句,【add some thing】網站
如今想把本地代碼提交到github上,是不能提交的。會出現錯誤提示!!!spa
應該先從遠程倉庫中把代碼下載下來code
(1)用git pull會怎麼樣呢?it
git pull origin master
打開本地倉庫的readme.txt文件ast
git pull:至關因而從遠程獲取最新版本並merge到本地class
(2)使用git fetch命令
接着上面的,咱們把衝突的代碼改了,再提交上去
再在readme.txt文件上增長use fetch
在本地倉庫的readme.txt文件修改,增長use fetch loca
l
本地提交代碼,並提交代碼,由上面可知,不能提交上去
輸入
git fetch origin master
打開readme.txt文件,沒有任何變化
咱們再輸入
git log -p master..origin/master
能夠查看遠程倉庫中,是誰修改了代碼,和怎樣修改
而後輸入
git merge origin/master
手動merge倉庫
而後咱們來看看readme.txt文件
fetch至關於獲取到github遠程倉庫上修改的代碼,
能夠經過git log -p master..origin/master來查看不一樣
最後根據本身的須要合併代碼
結論:pull至關於fetch操做加上merge操做,
不過fetch好一點,在合併以前能夠查看一下更新狀況。