I always use
git show to see the changes for the last commit or
git show sha1 to see the changes from a specific commit.
I rarely use git merge commits and recently I was working on a project that had a merge commit. When I did
git show sha1 on that merge commit nothing showed up. Then I discovered that you can pass the
-m option and it shows all the diff on that merge commit.
git show -m sha1