>>git difftool branch1 branch2
使用分支之间有差异的每个文件打开我的 difftool(Beyond Compare:BC)。我必须在每个文件之后关闭 BC,以便它与下一个文件一起重新打开。
BC 可以区分整个目录和多个文件。
有没有办法git difftool
同时打开所有文件,或者同时区分整个树?
>>git difftool branch1 branch2
使用分支之间有差异的每个文件打开我的 difftool(Beyond Compare:BC)。我必须在每个文件之后关闭 BC,以便它与下一个文件一起重新打开。
BC 可以区分整个目录和多个文件。
有没有办法git difftool
同时打开所有文件,或者同时区分整个树?
从 git v1.7.11 开始,您可以使用git difftool --dir-diff
来执行目录差异。
以下答案适用于 v1.7.11 之前的 git 安装。
这个问题与 BC 无关,而与 git 的工作方式有关。幸运的是,这个网址有一个解决方案——git-diffall
我使用这些命令将 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 旧分支名称新分支名称
我得到文件夹视图,就好像我将两个文件夹进行了比较。唯一需要注意的是,它不会在比较中显示相同的文件,但这并没有打扰我。