所以我看到了一些关于让 DiffMerge 成为 git 的 mergetool
和 difftool
的问题。基本上它归结为在您的 PATH
和 .gitconfig
中有 DiffMerge (sgdm.exe),如下所示:
[diff]
tool = DiffMerge
[difftool "DiffMerge"]
cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' "$LOCAL" "$REMOTE"
[merge]
tool = DiffMerge
[mergetool "DiffMerge"]
cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result="$MERGED" "$LOCAL" "$BASE" "$REMOTE"
trustExitCode = true
keepBackup = false
当我运行
git difftool file1 file2
时,没有任何 react 。没有错误代码,没有启动 DiffMerge。从 Git Bash 和 Windows 命令行,我可以运行 sgdm file1 file2
并且出现 DiffMerge。我已将
cmd
中的 .gitconfig
修改为没有路径或扩展名(例如仅 sgdm
),但仍然无济于事。有没有人遇到过这个?是否有一些明显的东西我错过了?我觉得我错过了一些明显的东西。
最佳答案
我使用 SourceGear DiffMerge 的 .gitconfig
是:
[mergetool "diffmerge"]
cmd = \"C:\\program files\\sourcegear\\common\\diffmerge\\sgdm.exe\" --merge --result=$MERGED $LOCAL $BASE $REMOTE
(显然,如果你喜欢在另一边,翻转
$LOCAL
和 $REMOTE
。)关于git - 如何将 DiffMerge 配置为在 Windows 7 或 Windows 2012 上使用 Git?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13868052/