如何使用 git difftool 来区分合并冲突?

Posted

技术标签:

【中文标题】如何使用 git difftool 来区分合并冲突?【英文标题】:How to use git difftool to diff merge conflicts? 【发布时间】:2011-04-14 02:30:56 【问题描述】:

在合并失败并出现一些冲突后,我可以用git diff 列出那些, 但是git difftool 不会使用配置中设置的 difftool 显示它们(在我的情况下是 Kaleidoscope),而是只会使用普通 diff。

git difftool 与之前的提交进行比较会起作用。

有没有办法在合并冲突中使用 git difftool?

问候杨

【问题讨论】:

我有过这种确切的经验,但使用融合而不是万花筒。 git meldtool 有效,但 git difftool 恢复为 git diff,即使它在没有要解决的合并冲突时正常工作。我觉得这很奇怪。 【参考方案1】:

试试git mergetool

【讨论】:

Mergetool 将启动视觉合并尝试,例如另一个应用程序,我只是想区分两个冲突文件,问题是虽然 git difftool refA refB 正常工作,git diffgit diftool 将在这种情况下做同样的事情。【参考方案2】:

首先尝试:

git difftool -t <yourtool>

如果这不起作用,请查看man git-difftool 并查看支持的工具列表。检查其中一个是否符合您的要求,如果符合,则您已将其范围缩小到 git 不支持 Kaleidoscope,这可能需要进行一些其他配置调整。

【讨论】:

我已经配置了它并且git difftool refA refB 工作正常,我想做的是在合并失败时使用 difftool 确实显示冲突文件中的差异,git diff defaults 在这一点上工作但使用difftool 的作用与 diff 相同。它不会启动万花筒,但它也使用 diff。 在这种情况下,我会同意 3lectrologos。我通常用 git mergetool 来做这个。 从支持网站上看有点难,但我认为万花筒中还没有mergetool支持,只有difftool。

以上是关于如何使用 git difftool 来区分合并冲突?的主要内容,如果未能解决你的问题,请参考以下文章