当前位置:   article > 正文

git pull和git fetch的区别

git pull和git fetch的区别

最近在使用idea中的Git插件的时候,遇到了一些问题,搞得也是很郁闷,明明没有修改这个文件,那么为啥这个文件就显示的颜色不一样呢?

具体的问题是(新接触Git):

我只是修改了连接数据库的本地种的其中一个配置文件local,连接本地的数据库,然后就开始Git pull远程仓库,只是很不幸,拉取失败了,依照以往的经验,是因为本地修改文件的缘故,于是就用“commit file”提交到本地仓库,然后再拉取pull代码,这次拉取成功,只不过需要merge代码,又是按照以往的经验,应该不会出现问题(也这么拉取过),只是出乎意料这次竟然有事情了,我明明记得其他文件我没有修改,可是拉取下来以后就发现文件的颜色变化了,再拉取就失败,提交到本地,发现有几个文件竟然是修改状态,这让我很是迷茫。。。

至于到底是什么原因,找了一大片,具体也是看出是什么问题,有说可能是因为在merge代码的时候出现的,也有说是因为没有push的原因。

在这过程中就发现,原来git fetch也是可以的,和git pull大致完成同样的工作,只不过在细节方面还是有区别的。

1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge

2. git pull:相当于是从远程获取最新版本并 merge 到本地,这个命令就相当于

git fetch + git merge

ps:

上述问题是个奇怪的问题,不过,当把本地仓库中的已修改文件,push到远程仓库以后,merge一下代码,而后就变得正常了,按照这样的话,那引起问题的关键应该是因为--把本地修改的代码commit file到本地仓库,然后pull拉取代码,然后与本地仓库中的代码冲突,然后merge代码,最新代码是出来了,但是就会出现上述那样的问题;只是当把本地仓库中的代码push到远程仓库后,这个问题就没有了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/491635
推荐阅读
相关标签
  

闽ICP备14008679号