我想对两个不同分支中的同一文件进行三方差异比较,即每个分支的最后提交以及共同祖先。我想使用允许进行三方比较的外部工具。我考虑使用git difftool,但据我所知,它只允许比较给定文件的任意两个版本。我可以使用mergetool,但这会强制我先运行git merge,以便设置BASE、REMOTE和LOCAL变量。我不想运行git merge,只是想首先进行三方差异比较,以查看在考虑其共同祖先的情况下对文件进行的更改。是否有选项可以使用difftool或mergetool来做到这一点? 谢谢
diffuse -r master -r HEAD -r upstream file.txt
安装你喜欢的三向差异工具,我个人偏爱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 Code中使用右键命令打开文件,我添加了这个简单的插件:GIT diff merge tool。
git config --global merge.conflictstyle diff3
吗? - jub0bs