我的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中的相应按钮:Expand All相同,该按钮可以展开左侧和右侧窗格中的所有文件夹。
我可能需要传递两个参数:/solo/expandall
谢谢,Rad
使用-expandall
代替/expandall
,并注意-solo
是必需的(解释如下)
[diff]
tool = bc3
[difftool "bc3"]
cmd = "E:/PortApps/Beyond Compare 3/bcomp.exe" -expandall -solo "$LOCAL" "$REMOTE"
上面的工作为我超越比较3.3.8(标准版)和Git for Windows 1.8.4 (msysgit),在Windows XP SP3 (x86 32位)。
指出我发现
path
设置是不必要的,如果我提供cmd
。您可能需要使用
BCompare.exe
而不是bcomp.exe
,根据BC技术支持…
单独解释
-solo
选项使比较在一个新窗口中打开。然后,difftool
将等待您关闭它,然后再删除正在比较的临时文件。
如果没有这个选项,如果已经打开了Beyond Compare窗口,比较将出现在那里的新选项卡中。这看起来很方便,但实际上不起作用,因为difftool
将立即删除要比较的文件,因为您调用bcomp.exe
只是将任务委托给已经运行的应用程序,然后退出。