在GUI中探索git-diff输出?

Fra*_*ank 10 git git-diff

是否有允许在GUI中探索输出git-diff命令的程序?

我正在寻找的是类似于SmartGit如何显示其对工作副本和HEAD之间差异的看法.显示与HEAD不同的每个文件,并显示焦点文件的差异.

我不确定是否可以使SmartGit显示"git diff"命令的输出.

替代文字

Tim*_*gan 11

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

以下答案适用于早于v1.7.11的git安装.


正如其他人所提到的,git difftool可以用来在GUI中打开你的差异.但是,如果您有多个带有更改的文件,它将为每个文件打开一个单独的GUI实例.

我编写了一个脚本来解决这个"功能",并允许在一个GUI实例中打开所有文件.您可以git diffall在GitHub上找到该脚本.

此外,您可能对此相关的SO问题感兴趣:

git difftool,立即打开所有diff文件,而不是串行打开


Art*_*urS 10

如果您想要一个人性化的用户界面,但仍想留在您的终端中,您可以使用:

git tui diff [args...]
Run Code Online (Sandbox Code Playgroud)

!演示

安装

git-tui

sudo snap install git-tui
Run Code Online (Sandbox Code Playgroud)

https://github.com/ArthurSonzogni/git-tui

免责声明:我是作者。

它是MIT 许可下的开源项目。

  • 已经取得了进展。Windows 和 Mac 二进制文件已构建。请参阅:https://github.com/ArthurSonzogni/git-tui/issues/2 (2认同)

小智 5

Beyond Compare可以很好地做到这一点 - 创建 .diff 文件的基本“git diff”命令无需更改配置。Beyond Compare 在文件树视图中显示 .diff 文件中引用的所有文件,以及您选择的每个文件的差异。

在 Beyond Compare 中,使用“工具 -> 查看补丁”菜单选项


Gre*_*ill 0

git diff有一个--ext-diff选项可以将 diff 输出传送到外部 diff 程序。已知可与 Git 配合使用的流行开源 diff 程序包括kdiff3Meld