Windows git difftool无法解析带空格的extcmd路径

时间:2016-07-04 12:53:13

标签: git msysgit msys

在Windows中,从Git MSYS命令行,我想运行此命令:

git difftool --extcmd=/C/Program Files/Beyond Compare 4/Bcomp.exe -- file_to_diff.ext

我很难正确解析extcmd参数。

2 个答案:

答案 0 :(得分:1)

我找到了编写命令的正确方法:

 git difftool -y --extcmd="'/C/Program Files/Beyond Compare 4/BComp.exe'" -- file_to_diff.ext

请注意双引号后跟单引号。

答案 1 :(得分:0)

不幸的是,这仅适用于第一个参数。 后续参数,'在显示时会被删除,但仍会与空格隔开。

不幸的是,我在其他任何地方都找不到解决方案。

git difftool --extcmd="'/C/Program Files/TortoiseGit/bin/TortoiseGitMerge.exe' /base:$LOCAL /mine:$REMOTE /basename:HEAD /minename:'xx yyyy'" --no-prompt "C:\......file-in-repo"

git difftool --extcmd="'/C/Program Files/TortoiseGit/bin/TortoiseGitMerge.exe' /base:$LOCAL /mine:$REMOTE /basename:HEAD '/minename:xx yyyy'" --no-prompt "C:\......file-in-repo"

/ minename:也不能包含圆括号。