我有两个冲突的文件,内容1\n2\n3\n4\n5\n6 (1-6)和1\n2\n3\n4 (1-4),这两个文件都是基于内容1\n2\n3\n4\n5 (1-5)的文件。然而,这正是TortoiseMerge在解决此冲突时所显示的:

如您所见,左窗格和右窗格不只是显示1-6和1-4,而是显示1-3,4-5,4-6和1-3,4-5,4。这两个文件中都有一个额外的4-5。我在第三个窗格中所能做的(除了手动编辑内容)是,对于每一行或每一个块,决定是保留“地雷”还是使用“它们的”。但我发现,解决冲突时,我只需要使用红色块,在他们的4-6和我的4之间做出决定。但不管怎样,还有额外的4-5。(这似乎是来自公共基的块,它对应于两个已更改的文件中的冲突块。这是更正吗?它为什么在那里?我该怎么处理那个橘子块?我可以用他们的,也可以用我的,没有区别。
那么,TortoiseMerge在前两个窗格中究竟显示了什么呢?
在第三个窗格中,我如何决定1-4或1-6的结果,而不必手动编辑结果?
(我就是这样制造这场冲突的:
更新:我刚刚注意到,在第三个窗格中,橙色行被标记为"--“(减号),指示这些行不会保存在合并的文件中。事实上,他们并不是!我不明白为什么前两个面板用"=“(等号)显示这些行。
发布于 2018-03-26 15:36:21
为了回答我自己的问题,我想事情就是这样的。
让r1成为常见的版本,r2是我正在更新的更改版本,WC是最新的版本,在r2方面有冲突的更改。
第一个面板显示了r2 (他们的)和r1之间的区别。
第二个面板显示WC (我的)和r1之间的差异。
请注意,可以更简洁地编写每个差异(在左边添加一行,删除右侧的一行)。这两个差异是同步的,在被删除的文本(橙色块)在两个差异中是相同的,因此额外冗长的输出和"=“符号。由于某些原因,橙色块没有以任何其他方式被标记为删除。
第三个面板显示了( r2和WC的合并)和R1之间的差异:这一次,删除的橙色文本被正确标记为(将要删除)。
正如我所假设的那样,我可以通过简单地浏览所有的红色区块来解决冲突,决定是使用我的还是他们的,而且我根本不需要碰任何橙色的块。
https://stackoverflow.com/questions/49489469
复制相似问题