如何使用KDIFF获取目录git分支差异



我已经与我的 git

我需要的是查看两个分支之间的目录差。当我运行

git difftool <headbranch>

命令它一一打开所有文件。但这不是我想要的。

git-difftool(1)现在满足此用例。只需使用-dir -diff(或-d)开关:

-d
--dir-diff
  Copy the modified files to a temporary location and perform
  a directory diff on them. This mode never prompts before
  launching the diff tool.

所以:

git difftool -d --tool=kdiff3 10c25f0da62929cca0b559095a313679e4c9800e..980de1bbe1f42c327ed3c9d70ac2ff0f3c2ed4e1

另请参见https://www.kernel.org/pub/software/scm/git/git/docs/git-difftool.html

假设,我们有两个分支 master base 为了查看这些分支之间的区别,只需执行:

git difftool -d base:src/ master:src/

在我的情况下,您的预设差异工具应该开始启动。或者,您也可以使用--tool选项来启动另一个:例如使用 vimdiff

git difftool -d --tool=vimdiff  base:src/ master:src/

或使用 kdiff3 以相同的方式

git difftool -d --tool=kdiff3  base:src/ master:src/

您可以使用

git diff --name-status <other-branch>

它列出了具有差异的文件,状态为a/m/d。

我没有发现使用kdiff3和标准git工具在目录比较模式下看到两个分支之间的目录差的可能性。

使用标准工具可以完成的操作(如果我错了,请解决我的问题:)是通过文件比较使用difftool进行的,然后在控制台中使用:

在控制台中概述
git diff --name-status <other-branch>

但是我找到了全面的图形Git Diff查看器脚本,可以根据需要为我完成工作 - 比较Kdiff3中的整个目录。

该工具只是一个外壳脚本,它在/tmp文件夹中创建了一个将要出现的分支快照,并在其上运行KDIFF3文件夹比较。

在此处查看脚本

相关内容

  • 没有找到相关文章

最新更新