我想对存在于两个不同分支中的单个文件进行3-way diff,即每个分支中的最后一次提交,并考虑公共祖先。我想使用一个外部工具,允许做3个方向的比较。我正在考虑使用git difftool,但据我所知,它只允许比较给定文件的任何2个版本。我可以使用mergetool,但这会迫使我首先运行git merge,以便设置BASE、REMOTE和LOCAL变量。我不想运行git merge。考虑到文件的共同祖先,我只想先做一个3-way diff,看看在两个分支中对文件所做的更改。
有没有我需要的选项,使用difftool或mergetool?谢谢
发布于 2017-05-22 19:33:22
一种解决方案是可视化diffuse,它可以直接操作git版本,并支持n-way视图。
例如,您可以在文件的不同分支之间打开三向比较:
diffuse -r master -r HEAD -r upstream file.txt
发布于 2022-02-06 10:23:20
安装你喜欢的3-way diff工具,我更喜欢的是KDiff3。
打开以编辑GIT全局配置:git edit --global --edit
在您选择的工具中进行调整:
[diff]
tool = kdiff3
[difftool]
prompt = true
[difftool "kdiff3"]
cmd = 'C:/Program Files/KDiff3/kdiff3.exe' \"$LOCAL\" \"$REMOTE\"
keepBackup = false
[merge]
tool = kdiff3
[mergetool]
prompt = true
[mergetool "kdiff3"]
cmd = 'C:/Program Files/KDiff3/kdiff3.exe' \"$BASE\" \"$LOCAL\" \"$REMOTE\" -o \"$MERGED\"
trustExitCode = true
keepBackup = true 要在VS代码中使用右键单击命令打开它,我添加了这个简单的插件:GIT diff merge tool。
https://stackoverflow.com/questions/26301307
复制相似问题