Git internals essentials 0 ▲ Mark Smith 15 hours ago · 6 min read1118 words · Tech · hide I've been having to switch a lot between git's high level and low level mental models the past few days. It's a bit jarring initially as you realise a lot of the things you rely on day to day aren't actually real. I wrote about that yesterday in my It's all an illusion post. It's not actually all that bad, but it does take a bit of getting used to. I put this cheatsheet together so I have something to refresh my memory next time I need to switch between the different models. 1. The Core Mental Model (The Chain of Commits) At its absolute foundation, a Git repository is just one giant, continuous history of commits linked together in a chain (a Directed Acyclic Graph). Every commit explicitly points backward to its parent commit, forming an unbroken line of history all the way back to your initial root commit.Pretty much everything else in Git—branches, tags, remotes, and HEAD—does not store code or alter this fundamental chain. They are simply lightweight, mobile pointers that sit on… Commenting on Bubbles has been removed. Why? If you want to talk about this post, write to the author, use the comments on their blog if it has them, or reply with a "RE:" post on your own blog. Suggestions? feedback@bubbles.town