18

>>git difftool branch1 branch2使用分支之间有差异的每个文件打开我的 difftool(Beyond Compare:BC)。我必须在每个文件之后关闭 BC,以便它与下一个文件一起重新打开。

BC 可以区分整个目录和多个文件。

有没有办法git difftool同时打开所有文件,或者同时区分整个树?

4

2 回答 2

22

从 git v1.7.11 开始,您可以使用git difftool --dir-diff来执行目录差异。

以下答案适用于 v1.7.11 之前的 git 安装。


这个问题与 BC 无关,而与 git 的工作方式有关。幸运的是,这个网址有一个解决方案——git-diffall

于 2011-05-24T21:26:39.250 回答
16

我使用这些命令将 Beyond Compare 4(尽管您在其中看到 bc3)设置为 diff/merge 工具:

git config --global diff.tool bc3
git config --global difftool.bc3.path "C:/Program Files/Beyond Compare 4/bcomp.exe"

git config --global merge.tool bc3
git config --global mergetool.bc3.path "C:/Program Files/Beyond Compare 4/bcomp.exe"

然后我像这样比较了两个分支,其中“oldbranchname”和“newbranchname”是我要比较的两个分支的名称。

git difftool -d --tool=bc3 旧分支名称新分支名称

我得到文件夹视图,就好像我将两个文件夹进行了比较。唯一需要注意的是,它不会在比较中显示相同的文件,但这并没有打扰我。

于 2016-08-30T18:34:38.737 回答