当我执行gitdiffCOMMIT时,我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的变化。

我还没有在diff/log上找到任何明显的选项来提供输出。


当前回答

以下内容似乎可以完成任务:;我用它来显示合并带来了什么。

git whatchanged -m -n 1 -p <SHA-1 hash of merge commit>

其他回答

另一种可能性:

git log -p COMMIT -1

您可以使用git diff HEAD HEAD ^1查看与父提交的差异。

如果您只想查看文件列表,请添加--stat选项。

首先使用,

git log #to list all

Or

git log -p -1 #last one commit id

复制提交id。

现在我们使用两种方法列出特定提交的更改,

方法1:

git diff commit_id ^#提交id类似于1c6a6000asad012

方法2:

git show commit_id
For example: git show 1c6a600a

要查看特定COMMIT哈希的差异,其中COMMIT是提交的哈希:

gitdiffCOMMIT~COMMIT将向您展示COMMIT的祖先和COMMIT之间的区别。有关命令和gitrevisions的详细信息,请参阅gitdiff的手册页。

或者,gitshowCOMMIT也会做类似的事情。(提交的数据,包括其diff,但不包括合并提交的数据。)请参阅gitshow手册页。

(gitdiffCOMMIT也会显示COMMIT和头部之间的区别。)

此命令将获取Git父提交哈希:

git log -n 2 <commit-hash>

之后,gitdiff工具<commithash><parentcommithash>

例子:

bonnie@bonnie ~/ $ git log -n 2 7f65b9a9d3820525766fcba285b3c678e889fe3

commit 7f65b9a9d3820525766fcba285b3c678e889fe3b
Author: souparno <souparno.majumder@gmail.com>
Date:   Mon Jul 25 13:17:07 2016 +0530

CSS changed to maintain the aspect ratio of the channel logos and to fit them properly.

commit c3a61f17e14e2b80cf64b172a45f1b4826ee291f
Author: souparno <souparno.majumder@gmail.com>
Date:   Mon Jul 25 11:28:09 2016 +0530

The ratio of the height to width of the channel images are maintained.

在此之后

git difftool 7f65b9a9d3820525766fcba285b3c678e889fe3b c3a61f17e14e2b80cf64b172a45f1b4826ee291f