我在Ubuntu 10.04 (Lucid Lynx)上使用Git。

我已经向我的主人许下了一些承诺。

但是,我想知道这些提交之间的区别。它们都在我的主分支上。

例如:

commit dj374
made changes

commit y4746
made changes

commit k73ud
made changes

我想知道k73ud和dj374的区别。然而,当我执行以下操作时,我无法看到我在k73ud中所做的更改。

git diff k73ud..dj374 > master.patch

当前回答

使用这个命令来区分commit和unstaging:

git difftool --dir-diff

其他回答

我使用gitk来查看区别:

gitk k73ud..dj374

它有一个图形用户界面模式,因此审查更容易。

假设你在底部(最老的)还有一个提交,那么这就变得很简单了:

commit dj374
made changes

commit y4746
made changes

commit k73ud
made changes

commit oldestCommit
made changes

现在,使用下面的方法将很容易达到目的。

git diff k73ud oldestCommit

gitk——所有 选择第一次提交 右键点击另一个,然后diff selected→this

使用这个命令来区分commit和unstaging:

git difftool --dir-diff

对于最后两次提交

git diff HEAD~1 HEAD

通过扩展来比较2个提交,例如

git diff HEAD~6 HEAD~3