Thursday, 17 April 2014

Review of "Version Control with Git" by Jon Loeliger and Matthew McCullough, O'Reilly

This book claims to "explain how Git works and teach mastery" of Git. And it does. If you read this book carefully (SCM systems are not necessarily easy to grasp), you most probably will be able to learn everything you ever wanted to know about Git.

Maybe even more ;)

On the other hand, as a curious SVN user trying to check out new stuff and competing technologies, you might be a bit overwhelmed by the amount of details you are confronted with.

Contents and structure of the book

After a general part about version control systems and some essential concepts of Git, the authors  guide you through all the nuts and bolts of a single, local repository. You should not be afraid to even look inside the folders and files beneath that hidden .git directory. That's a very technical approach,  but it's worth it if you really want to understand how Git works.

It's not until Chapter 12 (of 21) that you will deal with remote repositories; most books I know take an opposite approach and start with remote repositories right away. "Version Control with Git" takes one step after the other and makes sure you understand the simpler stuff first, and even if that means you have to be patient, it's most probably the better approach.
The last part of the book provides some advanced examples and interesting tips, tricks and techniques that I am sure not too many Git  users know about, plus a detailed introduction to github.


The answer to the question of how much you will like this book simply depends of what you expect.

If you want to know everything there is to know about Git, get this book. If you want a reference about git concepts and detailed explanations, get this book. If you ever had problems understanding why Git behaved somehow strange under certain circumstances, well, get this book.

Otherwise, for example if you are a SVN user who wants a somehow painless transition path to Git, there might be better suited books for you. But, as this kind of reader, if you keep using Git, most probably, you will buy "Version Control with Git" nevertheless (just a bit later).