GitAdvanced
How Git Really Works: Blobs, Trees, Commits and Refs
Open the .git folder and see Git for what it is: a content-addressed object store with movable pointers on top. Build a commit by hand and finally understand rebase, reset and the reflog.