2010-11-11 106 views
7

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

我在找的东西类似于SmartGit如何显示其工作副本和HEAD之间差异视图。显示与HEAD不同的每个文件并显示聚焦文件的差异。

我不确定是否可以让SmartGit显示“git diff”命令的输出。

alt text

+0

我不太明白怎么样你要求的是来自不同你已经展示了什么。有没有理由不能使用SmartGit?还是你问关于SmartGit的替代方案? – 2010-11-11 23:32:22

+0

我想看到与图像类似风格的任何git-diff输出。 SmartGit本质上只显示了HEAD diff的工作副本。 – Frank 2010-11-11 23:38:43

+0

SmartGit的差异显示器与[meld](http://meldmerge.org/)非常相似,它可以独立运行。 – endolith 2012-08-21 16:23:34

回答

1

git diff具有--ext-diff选项管道diff的输出到一个外部diff程序。已知与Git协同工作的流行开源差异程序包括kdiff3Meld

1

git difftool将运行所有流行的像meld,tkdiff等,也可以运行git mergetool。

1

我不确定我是否已经正确理解你的问题,但显然在下一个版本的SmartGit(2.0, currently available in alpha)中,你可以使用日志窗口来做任意提交之间的差异 - 我还没有尝试过。

9

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

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


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

我写了一个脚本来解决这个“功能”,并允许在一个GUI实例中打开所有文件。你可以找到git diffall script on GitHub

而且,你可能有兴趣在此相关的SO问题:

git difftool, open all diff files immediately, not in serial

0

请注意,您现在可以(git 1.7.11,2012年6月)DIFF目录(即显示所有的文件进行比较,开幕前在difftool的,而不是每一个文件对运行的外部工具的一个实例一次。)

请参阅“git difftool to give directory compare?