git books

jdavidb on 2008-04-22T20:59:31

There doesn't seem to be a "Git book" like the Subversion, CVS, and SVK books, yet.

There is, however, a Pragmatic Version Control Using Git book in the works for October 2008. If it had been available a week ago, I would've bought it immediately. By October, my demand will probably be less. However, I've been wanting to see what the Pragmatic Programmers say about version control, so I'll probably still be "in the market," just not as strongly. The author's blog mentions the book from time to time.

In the meantime, there are a few online git books out there, but most of them seemed hard to find, to me, particularly the ones with the information that seemed most helpful to me. :) The purpose of this journal entry is to share them and hopefully make them easier for others to find.

First up is A tour of git: the basics, an adaptation from a chapter of a book on Mercurial. This one was fairly easy to find, and somewhat helpful.

Next we've got the Git user manual. I shudder to say it, but I had trouble finding this. I guess I should've Googled for "git manual" or something. For a long time I mistakenly thought there was no official git documentation other than the man pages. This is more complete, and I am slowly going through it.

Finally, my favorite Git book by far is Git Magic (which originally grew out of this blog post). Git Magic is sort of a "Git Cookbook" in that it focuses on short, simple Git "recipes," often demonstrating powerful things you can do with Git that you could not have done with other VCS systems, and often demonstrating applications you would not have thought of for "version control." The original blog entry was what inspired me to ditch the heavy-duty and failure prone method of interfacing with CVS I was using, and after I had most of it worked out, I discovered Git Magic and it filled in some of the rest of the gaps for me.

My thanks to these authors for freely giving their time, effort, and server resources to help teach me Git. My thanks also to those of you here at use Perl who have helped me.