如何调试 git difftool 命令(WinMerge,git on windows)
How to debug git difftool command ( WinMerge , git on windows)
我花了一些时间来配置 git(git 版本 2.35.3.windows.1)以使用 WinMerge (2.16.20) 作为外部 difftool。这 post was my entry point and this Gist 似乎对某些人有所帮助。我这边还是没有运气。
$ git config --global --list
...
diff.tool=winmerge
difftool.winmerge.prompt=false
difftool.winmerge.trustexitcode=true
difftool.winmerge.cmd=.... (different versions see below)
--------------------------------------------------------------------------------
Example
cmd = "/c/Program\ Files\ \(x86\)/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE
cmd = \"C:\Program Files (x86)\WinMerge\WinMergeU.exe\" -u -e \"$LOCAL\" \"$REMOTE\"
问题 1: 在 post 中,作者引用了 git 的 2.5 版。但官方回购将 2.36 列为最新版本。 windows 似乎有 2015 年的 2.5 版本。那是实验性的吗?还是非官方?
问题 2:有人可以解释一下 git difftool
在幕后做了什么吗?有没有办法模拟 git 之外的调用,这样我可以更好地调试它?也许有人也有这个问题,可以解释他是如何调试问题的
我没有错误信息(好像被吞了...)
在 gitconfig 中写入 Windows 路径的正确空格、斜杠和反斜杠是一场噩梦。为避免它,将 c:\Program Files (x86)\WinMerge
添加到系统变量 Path
(google windows how to edit system variables
) 以便我们可以在直接在命令行而不是其绝对路径中的路径。
更新 Path
后,重新打开 git-bash 以重新加载它。 运行 git config --global -e
编辑 difftool.winmerge.cmd
[difftool "winmerge"]
cmd = WinMergeU.exe -u -e "$LOCAL" "$REMOTE"
要测试它是否有效,请输入 git 存储库和 运行 git difftool HEAD^ HEAD
。您可以尝试其他 git diff
命令,将 git diff
替换为 git difftool
.
我花了一些时间来配置 git(git 版本 2.35.3.windows.1)以使用 WinMerge (2.16.20) 作为外部 difftool。这 post was my entry point and this Gist 似乎对某些人有所帮助。我这边还是没有运气。
$ git config --global --list
...
diff.tool=winmerge
difftool.winmerge.prompt=false
difftool.winmerge.trustexitcode=true
difftool.winmerge.cmd=.... (different versions see below)
--------------------------------------------------------------------------------
Example
cmd = "/c/Program\ Files\ \(x86\)/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE
cmd = \"C:\Program Files (x86)\WinMerge\WinMergeU.exe\" -u -e \"$LOCAL\" \"$REMOTE\"
问题 1: 在 post 中,作者引用了 git 的 2.5 版。但官方回购将 2.36 列为最新版本。 windows 似乎有 2015 年的 2.5 版本。那是实验性的吗?还是非官方?
问题 2:有人可以解释一下 git difftool
在幕后做了什么吗?有没有办法模拟 git 之外的调用,这样我可以更好地调试它?也许有人也有这个问题,可以解释他是如何调试问题的
我没有错误信息(好像被吞了...)
在 gitconfig 中写入 Windows 路径的正确空格、斜杠和反斜杠是一场噩梦。为避免它,将 c:\Program Files (x86)\WinMerge
添加到系统变量 Path
(google windows how to edit system variables
) 以便我们可以在直接在命令行而不是其绝对路径中的路径。
更新 Path
后,重新打开 git-bash 以重新加载它。 运行 git config --global -e
编辑 difftool.winmerge.cmd
[difftool "winmerge"]
cmd = WinMergeU.exe -u -e "$LOCAL" "$REMOTE"
要测试它是否有效,请输入 git 存储库和 运行 git difftool HEAD^ HEAD
。您可以尝试其他 git diff
命令,将 git diff
替换为 git difftool
.