Review: Version Control with Git, Second Edition

It's hard to remember a time before distributed version control systems became the norm. When Git, bzr, and hg started being used there was a culture shock. Where does the central repository live? Who can commit, and to where? How to I merge several developers' work together into one repo? Over time Git proved itself to be the clear front-runner, and most Open Source projects either use Git, or recognize the reasons for why they're not using Git. But for those not yet versed in the ins-and-outs of Git, learning how Git works and how it differs from version control systems like Subversion and CVS can be challenging. Version Control with Git, Second Edition comfortably brings readers from Git newbies into Git masters over the course of the book.

The first edition of Version Control with Git was an excellent book for learning the more advanced topics of Git, but the reference nature of the first edition was less useful for those just learning Git. The second edition builds on the foundations of the first book and extends it to be more accessible to beginners. Each concept starts off with an overview of the basic, and then gradually sprinkles on the more advanced topics until the reader can grasp the concept. It has quickly become my go-to book for any of my Git questions, and has neatly compressed my recommendations for beginner books into one handy reference book.

Version Control with Git, Second Edition splits itself into two sections. The first part covers all of the operations pertaining to a single local repository. The latter parts delve into the more powerful parts of Git, and how to use it with multiple repositories. There is also a chapter handling repositories using Github. The book is very clear, easy to read, and provides ample workable examples throughout the chapters. Unlike some books that try to keep a project throughout the book, Version Control with Github begins each chapter with fresh examples, which allows each chapter to be worked independently of the rest of the book.

I found Version Control with Git, Second Edition a welcome refresh of a book that I already regarded highly. When folks would ask me which book to use to learn Git, I'd recommend they read one of the other introductory books, then refer to this book as needed. With the second edition, I can now recommend this book to anyone looking for how to get started and master Git.

(Note: I received this book from O'Reilly to review, but the first edition was awesome enough that I would have purchased the second edition sight-unseen).