Beej’s Guide to Git
Brian Hall (via Hacker News):
Which leads us directly to the goal: let’s make sense of all this and go from complete Git novice up to intermediate! We’ll start off easy (allegedly) with commands mixed in with some theory of operation. And we’ll see that understanding what Git does under the hood is critical to using it correctly.
And I promise there’s definitely a chance that after you get through some of this guide, you might actually start to appreciate Git and like using it.
He also has some other great guides, most notably the one about network programming.