Book Review: Pragmatic Version Control Using Git

I recently finished Pragmatic Version Control Using Git.  Following is the review.

An Excellent Git Resource

Feb. 15, 2009 by Jason R. Leveille

★★★★★

I have been a fan of Travis Swicegood’s work for a while now.  He not only has the ability to write good software, but he can also talk about it.  Travis’ latest work, Pragmatic Version Control Using Git, is an excellent introduction into the world of distributed version control with Git.  For a long time I’ve been a Subversion user, and for a while now Git has been getting a lot of good press.  Like anyone who wants to use the best tools available I often wondered if the grass was greener on the Git side.  Travis addresses the advantages Git has over SVN (and he even shows you how to use Git with SVN), which should help you in derterming the color of your version control grass.  If you want to investigate what Git can do for you, not only will this book provide an excellent introduction, but it will also provide a great reference.  I recommend this one for your bookshelf.

The Parts I Liked

These days I don’t have a lot of time for books that fail to get to the good stuff quickly.  This book is a quick read and gets right to the point.  It starts with an introduction and moves right into the steps needed to set up this version control system.  From there it moves quickly into creating a project and working directly with Git.

Git has a very rich feature set which could overwhelm a new user.  Travis does a nice job distilling the details down to exactly what you need to know, while including material later on in the book for users with more advanced needs.  Topics include, among other things: tags, branches, history, remote branches, best practices, and advanced topics.  Since I’m not one for repeating what you can find elsewhere, take a look at the full table of contents for a complete list of topics.

In addition to the topics previously mentioned, the book also has administrative and appendixes sections.  These sections alone are worth the price tag for this book.  Topics include:

  • Migrating to Git
  • Running a Git Server with Gitosis
  • A Git Command Quick Reference
  • Other Resources and Tools

The Parts I Struggled With

Although I stand by my 5 rating for this book, everything didn’t go as smoothly as I would have liked.  Namely, I had a bit of a difficult time setting up Gitosis.  Everything was fine until I had to initialize gitosis.  At this point things started going wrong for me (Ubuntu 8.04 is what I tested with).  I’m sorry that I can’t provide better details, as it has been a month since I struggled with this part of the book.  Admittedly, I didn’t put much of an effort into setting up Gitosis.  GitHub currently meets and exceeds all my Git hosting needs.  When the time comes for me to have the need for private git repositories, I’ll revisit Gitosis.

Conclusion

For a long time I’ve been using Subversion for version control.  In the short time I’ve been using Git, it has become my version control system of choice.  As far as I’m concerned, it has lived up to the hype.  Like anything else there is a bit of a learning curve with Git, however with resources such as this book you’ll hit the ground running.  Not only that, but this book is really nice to have for the inevitable need of a refresher.

If you like quick reads, packed with nuggets of very useful information, knowing full well that you’ll eventually need access to more advanced topics, than this might very well be the perfect Git book for you.

Comments have been disabled for this post.