Git Made Crystal Clear · chapter 2: What Git Is, and Why It Won
Snapshots vs diffs
2026-08-27
Other systems store the change per version and replay the chain to rebuild a file; Git stores a full snapshot per commit and lets unchanged files reference the identical previous copy.
Below: the paragraph from the book that builds this idea, then the diagram itself (Figure 2.1), and a recap. About a minute of reading.
Every time you commit, Git records a full tree, a snapshot of what every file looked like at that moment. If a file did not change since the last commit, Git does not store it again; the new snapshot simply points to the identical previous copy. So snapshots are cheap, and reconstructing any past version is just reading one tree rather than replaying a chain of diffs.

Recap
- The idea: Other systems store the change per version and replay the chain to rebuild a file; Git stores a full snapshot per commit and lets unchanged files reference the identical previous copy.
- The picture: Figure 2.1, from chapter 2 ("What Git Is, and Why It Won") of Git Made Crystal Clear.
- Go deeper: the chapter builds this step by step, with recipes and sources at the end.
This diagram is one of many in Git Made Crystal Clear.
Every chapter opens with the gist, draws the hard ideas, and ends with recipes and sources.
Get the book


