Git 合并非';在任一分支中都不能修改
当我尝试在Git 合并非';在任一分支中都不能修改,git,git-merge,merge-conflict-resolution,Git,Git Merge,Merge Conflict Resolution,当我尝试在master上重新设置分支featureX的基础时,我在一个文件(我们称之为moduleA/foo)中得到了一个冲突,该文件没有在master或featureX中修改,因为它们发生了分歧!我用下面的log命令检查了这一点: git log master...featureX -- moduleA/foo 结果是空的(由于分支发散,所以两个分支上的提交都没有触及文件) 这到底是怎么可能的?我能做些什么来避免这种误导性的冲突?正如@Xlee所说,重新设置基址会导致更改提交的散列并弄乱历史
master
上重新设置分支featureX
的基础时,我在一个文件(我们称之为moduleA/foo
)中得到了一个冲突,该文件没有在master
或featureX
中修改,因为它们发生了分歧!我用下面的log命令检查了这一点:
git log master...featureX -- moduleA/foo
结果是空的(由于分支发散,所以两个分支上的提交都没有触及文件)
这到底是怎么可能的?我能做些什么来避免这种误导性的冲突?正如@Xlee所说,
重新设置基址会导致更改提交的散列并弄乱历史记录
还有其他一些可能性,例如:
-featureX
已被强制推送
-有人创建了一个commit,它更改了moduleA/foo
文件,并在master上还原了它
-你这个笨蛋很顽皮,喜欢取笑你。
您的选择是实际冲突吗?i、 “是的,这是一个与冲突标记的“均修改”冲突,标记内部的部分更改看起来像我在featureX
中所做的更改(但在另一个文件中)。多么奇怪。如果您不想更改,您可能可以执行git checkout--theres--moduleA/foo
来删除冲突标记。我可以(感谢命令!),但我也想了解为什么会发生这种情况,以及如何避免这种情况:-)如果git diff--name status master..featureX
不返回任何内容,它们是相同的。。。