Skip to main content
๐Ÿ“œ WAYPOINT LESSON

Commits: snapshots with parents

โญ beginnerโณ 12 min read๐Ÿ“ Lesson 74 of 85

A commit is a named snapshot pointing at its parent(s) โ€” the history is just a graph you traverse.

The mental model that survives

A --- B --- C   (main)

Each node is a full snapshot plus metadata: message, author, timestamp, and a pointer to its parent(s). main is just a movable label pointing at the newest commit on that line. A commit hash like a1b2c3d names one node forever.

Small, complete commits tell a story: "add login form", "fix email validation", each self-contained. A week of work as one commit titled "stuff" is a story nobody can review or bisect.