To see the diff for a particular COMMIT hash, where COMMIT is the hash of the commit:
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 – but not for merge commits.) See the git show manpage.
(also git diff COMMIT will show you the difference between that COMMIT and the head.)
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?”.