我试图用git联合合并来解释一个令人费解的行为。要重现,请从具有以下内容的hello.txt开始:
1
2
3在另一个提交中,添加一行,例如
1
2
new
3在原始提交的另一个foo分支中,删除中间行:
1
3在这里,我希望合并不包含删除的行,即使使用联合合并也是如此。但是我看到它包含(在主服务器上运行git merge foo之后):
1
2
new
3所以它忽略了我的行删除。我是不是误解了联合合并的工作原理?示例存储库:https://github.com/davidebbo/MergeTest
再注意一点:如果没有删除第2行,而是删除了第1行,则合并将按预期进行,并以以下代码结束:
2
new
3因此,这种奇怪的情况似乎只有在标准(非联合)合并下会导致冲突的情况下才会发生。
发布于 2012-10-18 14:45:55
--union合并就像它应该的那样工作。请参见git-merge-file手册页:
而不是在文件中留下冲突,解决有利于行的两端的冲突。
第二种情况根本不算冲突。修改后的行不相邻(#1和#3)。
https://stackoverflow.com/questions/12947436
复制相似问题