如何使用 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 来区分合并冲突?的主要内容,如果未能解决你的问题,请参考以下文章

配置bc4作为git比对合并工具

Git 合并冲突之后怎么办?

git解决冲突方式

如果存在合并冲突,如何让 git 自动打开合并工具?

git difftool 详解

Windows下GIT配置BeyondCompare为默认差异比较工具和合并工具