This book is larger than you might expect. A number of people asked me if there was really that much to write about a simple version control system (VCS). The authors have done a very good job covering four major areas related to Git: usage, implementation, best practices, and GitHub.
Many books just cover basic usage--for example, use this command for a commit and this one to revert the changes. The authors of this book present these commands, but it does not read like a reference manual. Basic usage is covered in chapter 3, while more advanced commands are introduced as needed throughout the rest of the book.
Git is not a pretty system to use. It is like a go-kart with the engine and mechanics exposed. This book does a good job of demystifying the working components so that it begins to make sense.
The majority of the book focuses on best practices, which is indeed one of the hardest issues to grasp with any VCS. Branching, merging, repositories, and interactions with Subversion (SVN) are all covered with clear descriptions and examples.
The inclusion of GitHub distinguishes this edition from the first [1]. As an extension of the best practices focus, this chapter helps to complete the picture of version control and project sharing.
Version control with Git is accessible to every developer, but is probably of serious value to those in charge of version control and release cycles. Without prior experience, it is hard to know what works best for any given project. This book provides sage advice and gives the practitioner the tools to manage projects of any size. It is a reference book focused on the “how” and not the mechanics of “click here, push there.” I am happy to have it on my bookshelf.