How to see the changes in a git commit?

When I do git diff COMMIT I see the changes between that commit and HEAD (afaik) but I would like to see the changes that were made by that single commit.

I haven't found any obvious options on diff/log that will give me that output.


To see the diff for a particular COMMIT hash:

git diff COMMIT^ COMMIT will show you the difference between that COMMIT 's ancestor and the COMMIT . See the man pages for git diff for details about the command and gitrevisions about the ^ notation and its friends.

Alternatively, git show COMMIT will do something very similar. (The commit's data, including its diff.) See the git show manpage.


As mentioned in "Shorthand for diff of git commit with its parent?", you can also use git diff with:

git diff COMMIT^!

or

git diff-tree -p COMMIT

With git show, you would need (in order to focus on diff alone) to do:

git show --color --pretty=format:%b $COMMIT

The COMMIT parameter is a commit-ish :

A commit object or an object that can be recursively dereferenced to a commit object. The following are all commit-ishes: a commit object, a tag object that points to a commit object, a tag object that points to a tag object that points to a commit object, etc.

See gitrevision "SPECIFYING REVISIONS" to reference a commit-ish.
See also "What does tree-ish mean in Git?".


你也可以试试这个简单的方法:

git show <COMMIT>
链接地址: http://www.djcxy.com/p/8992.html

上一篇: 从github中删除提交

下一篇: 如何查看git commit中的更改?