为什么 git pull 更改我的代码而不引发所有更改的合并冲突?

问题描述

我在本地提交了一个功能,从远程拉取并遇到了合并冲突。解决它们后,我的功能停止工作。我以为我犯了一个错误并昨天问了 a question about this。所以我对我之前的提交做了一次硬重置,重复了合并并解决了我看到的冲突。

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

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

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

解决方法

这是关于并发修改:如果文件中的同一行被您的分支和您从中拉取的远程分支修改,则会发生冲突。

但是如果其他人推送了一个“坏”代码,当拉取时,立即应用(没有冲突,因为您没有直接修改该部分),那么您将不得不测试该拉取的结果检测它。