The elements of git
This is not a tutorial. If you're looking for a quick, easy, "how to use git" kind of post, look elsewhere.
The goal of this post is to give you just enough understanding of the git internals that you can build up a correct intuition of what various git commands actually do under the hood.
Source: The elements of git, an article by Gary Verhaegen.