git pull 与git fetch的区别

本文通过实际案例对比了Git中fetch和pull两个命令的区别。fetch命令仅从远程仓库获取更新,允许用户检查更新内容后再决定是否合并;而pull命令则会直接将远程更新合并到本地。fetch提供了更灵活的代码合并方式。

从百度上看到很多关于git fetch 和 git  pull 的不同

实践一下:

从github上新建一个项目try,copy到本地。

211419_8HMH_1782502.png

在github网站里修改readme.txt文件,新增加一句【alter readme】

在本地仓库的readme.txt也新增加一句,【add some thing】

现在想把本地代码提交到github上,是不能提交的。会出现错误提示!!!

211807_Tlaj_1782502.png

应该先从远程仓库中把代码下载下来

(1)用git pull会怎么样呢?

git pull origin master

212152_L9zd_1782502.png

打开本地仓库的readme.txt文件

215932_mcFw_1782502.png

git pull:相当于是从远程获取最新版本并merge到本地


(2)使用git fetch命令

接着上面的,我们把冲突的代码改了,再提交上去

再在readme.txt文件上增加use fetch 

在本地仓库的readme.txt文件修改,增加use fetch loca

l221209_Zii9_1782502.png


本地提交代码,并提交代码,由上面可知,不能提交上去

221209_BwYr_1782502.png

输入

git fetch origin master



221422_x8tU_1782502.png

打开readme.txt文件,没有任何变化

221550_Wsd7_1782502.png

我们再输入

git log -p master..origin/master

可以查看远程仓库中,是谁修改了代码,和怎样修改

221911_REXj_1782502.png

然后输入

git merge origin/master

手动merge仓库

222156_mycy_1782502.png

然后我们来看看readme.txt文件

222634_Tb8f_1782502.png

fetch相当于获取到github远程仓库上修改的代码,

可以通过git log -p master..origin/master来查看不同

最后根据自己的需要合并代码


结论:pull相当于fetch操作加上merge操作,

不过fetch好一点,在合并之前可以查看一下更新情况。



转载于:https://my.oschina.net/chenfwind/blog/487289

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值