git pull 与git fetch的区别

Deadly 提交于 2019-12-10 02:58:06

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

实践一下:

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

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

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

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

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

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

git pull origin master


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

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


(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好一点,在合并之前可以查看一下更新情况。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!