如何在 git 上执行 3 向视觉差异?

Ser*_*gio 5 git git-diff mergetool git-difftool

我想对存在于 2 个不同分支中的单个文件进行 3 路比较,即每个分支中的最后一次提交,并考虑共同的祖先。我想使用一个允许进行三向比较的外部工具。我正在考虑使用 git difftool,但据我所知,它只允许比较给定文件的任何两个版本。我可以使用 mergetool,但这迫使我首先运行 git merge,以便设置 BASE、REMOTE 和 LOCAL 变量。我不想运行 git merge。我只想首先进行 3 路比较,以查看两个分支中的文件在考虑到其共同祖先时所做的更改。

是否可以选择使用 difftool 或 mergetool 来完成我需要的操作?谢谢

小智 4

一种解决方案是视觉漫反射,它可以直接操作 git 修订版本并支持 n 路视图。

例如,您可以在文件的不同分支之间打开三向差异:

diffuse -r master -r HEAD -r upstream file.txt