我的git全局配置C:\ Users \ .gitconfig看起来像:
[diff]
tool = bc3
[difftool "bc3"]
path = C:/Program Files (x86)/Beyond Compare 3/BCompare.exe
cmd = \"C:/Program Files (x86)/Beyond Compare 3/BCompare.exe\" \"$LOCAL\" \"$REMOTE\"
我使用的是Windows 7 x64操作系统。我有Beyond Compare Pro 3.3.5版本。
我想在调用BCompare.exe时传递一个或多个参数 我试过这个,但它不起作用:
cmd = \"C:/Program Files (x86)/Beyond Compare 3/BCompare.exe\ /expandall" \"$LOCAL\" \"$REMOTE\"
git difftool --dir-diff dev master
我想在开发和主分支之间进行目录比较,并扩展Beyond Compare工具中的所有文件夹。这应与Beyond Compare GUI中的相应按钮相同:展开全部,展开左右窗格中的所有文件夹。
我需要传递2个参数:/ solo / expandall
谢谢, 弧度
答案 0 :(得分:12)
使用表单-expandall
代替/expandall
,并注意-solo
必需(以下说明)。
[diff]
tool = bc3
[difftool "bc3"]
cmd = \"E:/PortApps/Beyond Compare 3/bcomp.exe\" -expandall -solo \"$LOCAL\" \"$REMOTE\"
以上版本适用于Windows XP SP3(x86 32位)上的Beyond Compare 3.3.8(标准版)和Git For Windows 1.8.4(msysgit)。
如果我提供了path
,我发现cmd
设置不是必需的。
根据BC tech support, 可能需要使用BCompare.exe
代替bcomp.exe
...但我发现无论哪种方式都可行。
-solo
选项使比较在新窗口中打开。在删除要比较的临时文件之前,difftool
将等待您关闭它。
如果没有此选项,如果您已打开Beyond Compare窗口,则比较将显示在那里的新选项卡中。这似乎很方便但实际上不会起作用,因为difftool
会立即删除要比较的文件,因为bcomp.exe
的调用只是将任务委派给已经运行的应用程序然后退出。 / p>