超越比较作为Git的Diff工具-如何像:/expandall那样切换命令行



我的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位)。

指出

  1. 我发现path设置是不必要的,如果我提供cmd

  2. 可能需要使用BCompare.exe而不是bcomp.exe,根据BC技术支持…

单独解释

-solo选项使比较在一个新窗口中打开。然后,difftool将等待您关闭它,然后再删除正在比较的临时文件。

如果没有这个选项,如果已经打开了Beyond Compare窗口,比较将出现在那里的新选项卡中。这看起来很方便,但实际上不起作用,因为difftool将立即删除要比较的文件,因为您调用bcomp.exe只是将任务委托给已经运行的应用程序,然后退出。

相关内容

  • 没有找到相关文章

最新更新