我已配置kDiff3与我的git。如何使用kdiff获取目录git branch diff
我需要的是看到两个分支之间的目录差异。当我运行
git difftool <headbranch>
命令它打开所有文件一个接一个。但那不是我想要的。
我已配置kDiff3与我的git。如何使用kdiff获取目录git branch diff
我需要的是看到两个分支之间的目录差异。当我运行
git difftool <headbranch>
命令它打开所有文件一个接一个。但那不是我想要的。
你可以使用
git diff --name-status <other-branch>
它列出的文件有差异,A/M/d的状态。
我还没有发现使用kdiff3和标准git工具在目录比较模式下查看两个分支之间的目录差异的可能性。
什么能使用标准工具(整我,如果我错了:)是使用文件比较文件使用difftool,并概述在控制台来完成:
git diff --name-status <other-branch>
但我发现Comprehensive Graphical Git Diff Viewer Script,该做的根据需要为我工作 - 比较kdiff3中的整个目录。
该工具只是一个shell脚本,它在/ tmp文件夹中创建要比较的分支并在其上运行kdiff3文件夹比较。
结帐脚本here
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/docs/git-difftool.html
我也使用这个命令,但也添加了参数'--no-symlink',以便我在kdiff3中所做的任何更改都将应用当前签出的工作目录。 – Robert
见比方说,我们有两个分支master and base 为了看到di这些分支之间fference,只需要执行:
git difftool -d base:src/ master:src/
然后你预设的diff工具应上手,在我的情况kdiff3。 或者您也可以使用--tool
选项启动另一个: 与Vimdiff可以
git difftool -d --tool=vimdiff base:src/ master:src/
或kdiff3以同样的方式
git difftool -d --tool=kdiff3 base:src/ master:src/
谢谢,它帮助。另外kDiff3是很好的比较目录。 A/M/D确实非常有帮助。 –