Git from the inside out
This is really excellent.  I have now read it three times, running through the commands as I go, and for the first time I feel like I actually understand git.<p>Here are some commands I found useful as I went through the tutorial:
To show a given commit without diffs but with tree and parent sha1s:
git cat-file -p sha-1<p>To show a given commit including diffs:
git show sha-1<p>To show a given tree (blobs and subtrees):
git ls-tree sha-1<p>Show the tree recursively (i.e. show sha1 of all files, ignoring folder)
git ls-tree -r sha-1