TLDR

If you are using Git, you should read Git Internals book.

Very short review

I have read the book probably over a year ago, so my memory is a bit blurry, but I still want to document the fact that I have read it, while I still remember anything. I have heard about the book either on a podcast or at GitHub blog (or both). Downloaded it and put on my Kindle. I remember having “fun” while trying to configure Kindle to display the book correctly, because of it’s beautiful but unusual layout. It is a relatevily short book, but long enough to cover way more than just the basics.

The book starts with a short installation instructions. At this point in time they are probably completely out of date. But, Git should be really easy to install these days. It continues with really short history of the project. What books usually do next is try to explain the basics of how to use the tool. This book starts with explaining Git internals, and does a wonderful job. My favorite part is:

Git != Subversion + Magic!

The only other version control system that I have seriously used before Git was Subversion, and when I saw that in the book, I have realized that in all those years since switching from Subversion to Git I did think that Git was pretty much the same as Subversion, with some added magic. And decentralization.

The book starts talking on how to use the tool somewhere around the middle of the book, and ends with the usual overviews, references and endnotes.

I had years of experience with Git before I have read the book, and “how to use Git” part did not have a lot of new information. But then, the “Git under the hood” part of the book really opened my eyes and caused several “Now I understand how that works!” moments.

As Git itself, some parts of the book will just make your head explode. You will have read them several times, sketching at the paper, trying out examples in Git… Well, at least that is what happened to me.

I really liked the book, and as far as I remember I have promised myself I will read it again as soon as possible. Some parts of Git are still not clear to me, and I remember them being clearly explained in the book.

Misc