Git

Five lessons covering how Git works under the hood.

Objects (how Git stores everything as content-addressed blobs, trees, and commits in a DAG), branching (how refs and HEAD make branches nearly free), merging (how three-way merge and fast-forward combine divergent histories), rebasing (how replaying commits rewrites history), and internals (how packfiles, the reflog, and garbage collection keep the object database efficient).

Every developer uses Git daily. Understanding the data structures beneath the commands explains why some operations are instant and others are dangerous, why rebasing changes hashes, and why you can almost always recover from mistakes. The glossary defines every term. The FAQ answers common questions.