What do I need to read to understand how git works?

Viewed 41049

I would like to understand the way git works from a architects point of view. How are files stored, how are versions kept and how do changes happen (branches, merges, etc.)?

I am not searching for information how to use it. (I already found a lot of pages with tutorials.) But I did not find any "behind the scenes" details, that would make me understand.

15 Answers

For me, the following three resources were very, very helpful, in this order:

  1. The Thing About Git explained why I should even care

  2. Git Magic explained how to get started

  3. Git The Basics [pdf] explained - graphically, and in detail - what happens when I add, remove, merge, etc.

The US$9 100+ page PDF book from PeepCode called Git Internals is fantastic. It's well written, uses great, clear visuals and is also a quick read. I absorbed as much free online material as I could but this book put me over the top.

There's a good Google tech talk: Linus Torvalds on git

OK, it's not something to read but it does cover some of the Git internals and design philosophy.

One day I actually sat down and read the entire Git User's Manual. Turned out to be a good idea -- the manual is very helpful, explains a lot, and is quite clear and provides useful examples.

Wikipedia might get you started.

I do remember encountering some documents describing some of the internal architecture, so I know that they are out there. I just can't remember where they were...

Related