我努力了:
git diff sha1 sha2
但是输出不是最好的,是否可以使用 gitk 看到 2 次提交之间的区别?
至少在 Windows 中这是完全可能的:
不确定您是否真的想要一个差异,或者您是否想要正常的 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
不幸的是,gitk
不支持这种方式的差异输出。:-(你可以使用git difftool
。它支持许多内置工具。例如,你可以做git difftool -t kdiff3 sha1 sha2
。它一次显示一个文件差异。在 git list 上有关于支持多个文件的讨论一次通过差异工具,但我不确定结果在哪里。我还没有看到实现它的补丁。
不,但你可以使用融合来做到这一点:
git checkout sha1
git reset sha2
git diftool --tool=meld
诀窍是,通过检查 sha1 然后重置为 sha2,您可以使它们之间的所有差异看起来都是未提交的更改。然后,meld 可以利用其查看未提交更改的能力,同时对所有涉及的文件进行比较。