成功自动解决合并冲突后,使用 KDiff 审查合并操作

Posted

技术标签:

【中文标题】成功自动解决合并冲突后,使用 KDiff 审查合并操作【英文标题】:Review merge actions with KDiff after successful automated solving of merge conflicts 【发布时间】:2019-08-15 13:59:04 【问题描述】:

我使用 KDiff 作为与 Git 的合并工具。在一次不成功的 Git 合并之后,我开始使用 git mergetool 解决单个文件的冲突,它调用我配置中指定的 KDiff。

但是,对于一个文件,它说“冲突数:x。自动解决的冲突数:x。剩余冲突:0”或类似的东西。单击确定返回到下一个文件的控制台。

在查看结果后,我对此并不满意。我现在想知道是否可以使用标准的 3-way 合并视图重新打开 KDiff,即使我无法进行编辑,只是想看看它是如何解释和详细完成的。

编辑:这是一个可能的部分解决方案,其中缺少第一部分:

将 KDiff 设置为在自动解决所有冲突时不关闭 - 否则根本不自动解决冲突(显然首选第一个选项,但发现了一些关于如何执行第二个的堆栈溢出主题,如 here)。将调查第一个选项是否可行,目前尚未实施。

使用命令git checkout -m <path/to/file.extension> 将文件恢复到其合并后的冲突状态(带有冲突标签和所有内容,这样文件将被标记为“未解决的冲突”状态或其他任何内容,然后调用@ 987654323@ 将再次在该文件上运行 KDiff,这次使用新设置)

【问题讨论】:

修改后,还缺少什么部分? 抱歉,我指定了。更好? 我认为在这一点上 - 根据您在下面发布的答案 - 您已经解决了所有问题,对吧? 【参考方案1】:

所以最后建议的解决方案 here 完全符合需要:自动合并但即使没有冲突也不会关闭,这样您就可以查看 KDiff 所做的一切。

现在对于您已经完成合并的任何文件,您可以使用git checkout -m <path/to/file.extension> 将其恢复为“已合并但未解决的冲突”状态,然后运行修改后的“KDiff no auto”合并工具。

【讨论】:

以上是关于成功自动解决合并冲突后,使用 KDiff 审查合并操作的主要内容,如果未能解决你的问题,请参考以下文章

如何解决KDiff在解决合并冲突时增加额外空行的问题?

如何使用--theirs或--ours合并大多数冲突?

如何将 kdiff3 设置为 SVN 的合并工具

如何正确使用 KDiff3 与 TortoiseSVN 来解决冲突?

Git:如何将 KDiff3 配置为合并工具和差异工具?

合并成功后如何自动提交?