What do I need to read to understand how git works? [closed]

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.


Solution 1:

http://eagain.net/articles/git-for-computer-scientists/

http://www.loria.fr/~molli/pmwiki/uploads/Main/gitmanual.pdf Chap 7

Git From the Bottom Up

Solution 2:

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.

Solution 3:

The Git Internals ebook has already been mentioned. I will point out that its author, Scott Chacon, gave a fantastic presentation about git at RailsConf 2008 that covers much the same ground as the book.

Said Scott now maintains http://git-scm.com/, which includes the Git community book, which is more of a usage tutorial than a technical description, but does include both a nice conceptual overview of the git data model in the introductory chapter and a detailed one in its closing chapter.