This article was originally posted on Recurse Center - <a href="https://codewords.recurse.com/issues/two/git-from-the-inside-out" rel="nofollow">https://codewords.recurse.com/issues/two/git-from-the-inside...</a><p>And here is HN discussion - <a href="https://news.ycombinator.com/item?id=9272249" rel="nofollow">https://news.ycombinator.com/item?id=9272249</a>
Seems like some images are broken on that link...here is an alternate version: <a href="http://maryrosecook.com/blog/post/git-from-the-inside-out" rel="nofollow">http://maryrosecook.com/blog/post/git-from-the-inside-out</a>
Another great resource is the Internals chapter of Pro Git. This opened my eyes. I've always been a Mercurial fan. Learning git from the bottom up really helped me understand what all the fuss was about.<p><a href="https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain" rel="nofollow">https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Po...</a>
The chapter Understanding Git in Git Internals by Scott Chacon also has a good explanation of how Git works.<p><a href="https://github.com/pluralsight/git-internals-pdf" rel="nofollow">https://github.com/pluralsight/git-internals-pdf</a>