Version Control with Git by Jon Loeliger and Matthew McCullough
Version Control with Git is a collection of experiences and wisdom about using Git in a variety of situations. It reads as somewhere between technical manual pages and friendly parlance, which I think for many developers will be what they need. Because Git is open source and there is an active community around using it this book won’t be the resource everyone will turn to, but it does have its place among those resources and I’ll be referring back to it in the future.
It starts off with the shared knowledge you need to understand Git and what how it works. It doesn’t compare itself to other Version Control Systems and doesn’t get into apologetics about any systematic behaviour, it simply states what it does. It walks through how it handles the working directory, the local repository and common commands like commit, log and diff. What I think of as the introductory chapters end with a walkthrough of branching and merging, and their applications to the local repository.
At this point the book begins to get more technical, delving into more complex and theoretical areas like rebasing (altering the repository to a known point), remote repositories (a significant part of what makes Git a distributed VCS) and the reflog (what tracks the different endpoints, such as branches, of the repository). These were harder for me to grasp, and although I appreciated that they were better than reading man pages or searching for discussions around these topics, often times I felt the authors neglected dicussing practical application of these concepts for providing more information about these concepts. Given the constraints of the size of the book, I think they made the right choice. Now that I’m aware of these topics, I’ll be going back as I get into using Git more and have to overcome some of its inherent limitations using the methods described.
If you are someone who wants to know more about the tools you use, or enjoy learning a system like how a VCS works such as I do, this is a book worth picking up. The expertise of the authors and the depth to which they go into a variety of topics, should satisfy a reader’s curiosity about this interesting tool.
As a disclaimer, I received this book as part of O’Reilly’s Blogger Review Program.