Git for Idiots (and Java developers)
trak3r.blogspot.com
trak3r.blogspot.com
git diff master..branchname # see changes between a branch and master
git diff origin..master # show changes that are in your local repository but not in the source
git diff # show modified files that are not part of a commit, ie. before running git add
git diff --cached # changes about to be comitted
There are many other things you can do with git diff but these scenarios are the most common for me.
http://www.kernel.org/pub/software/scm/git/docs/tutorial.htm...
...which seems apropos and shithead-free.