44

我努力了:

git diff sha1 sha2

但是输出不是最好的,是否可以使用 gitk 看到 2 次提交之间的区别?

4

4 回答 4

59

至少在 Windows 中这是完全可能的:

在此处输入图像描述

于 2013-07-09T13:31:38.580 回答
8

不确定您是否真的想要一个差异,或者您是否想要正常的 gitk 表示,但仅适用于从sha1到的提交sha2

在后一种情况下,您可以提供所有正常的修订参数:https ://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html

所以你可以做类似的事情

gitk sha1..sha2

或者如果 master 被合并到sha2分支中并且您不想看到来自 master 的提交并且, 是从usesha1分支的第一个提交master

gitk master..sha2
于 2013-11-07T10:11:33.507 回答
3

不幸的是,gitk不支持这种方式的差异输出。:-(你可以使用git difftool。它支持许多内置工具。例如,你可以做git difftool -t kdiff3 sha1 sha2。它一次显示一个文件差异。在 git list 上有关于支持多个文件的讨论一次通过差异工具,但我不确定结果在哪里。我还没有看到实现它的补丁。

于 2012-12-05T06:37:23.457 回答
2

不,但你可以使用融合来做到这一点:

git checkout sha1
git reset sha2
git diftool --tool=meld

诀窍是,通过检查 sha1 然后重置为 sha2,您可以使它们之间的所有差异看起来都是未提交的更改。然后,meld 可以利用其查看未提交更改的能力,同时对所有涉及的文件进行比较。

于 2015-02-20T15:20:36.370 回答