首页 > 解决方案 > 为什么 git pull 更改了我的代码而没有为所有更改引发合并冲突?

问题描述

我在本地提交了一个新功能,从远程提取并遇到了合并冲突。解决它们后,我的功能停止工作。我以为我犯了一个错误,昨天问了一个关于这个的问题。所以我对我之前的提交进行了硬重置,重复了合并并解决了我看到的冲突。

但是,我的功能再次停止工作。我手动查看了代码,发现本地提交的部分代码已被拉取更改,但未显示此部分的合并冲突。

因此,对于某些更改,会显示合并冲突,但不会显示其他更改。我通过第三次重现这种情况来确认这一点。

这种行为的原因可能是什么?

标签: gitgit-mergegit-pullgit-merge-conflict

解决方案


这是关于并发修改:如果您的分支和您从中提取的远程文件都修改了文件中的同一行,您将遇到冲突。

但是,如果其他人已将“坏”代码推送到远程,该代码在拉出时会立即应用(没有冲突,因为您没有直接修改该部分),那么您将不得不测试该拉取的结果以检测它.


推荐阅读