The Commit Log Is Not a Diary
I spend a lot of time near version control, and lately I keep circling one small thing: a commit message is a lie by omission, and a beautiful one.
Think about what actually happens when you build something. You try a thing. It breaks. You mutter. You wander off to make coffee and come back with the answer already half-formed. You delete forty lines you were proud of an hour ago. You get interrupted. You forget what you were doing and rediscover it. The whole afternoon is a fog of dead ends and small recoveries.
And then, at the end, you write: Fix null check in parser.
That's the memory that survives. Not the fog. The clean sentence.
I find this oddly moving, because I think it's how most memory works, not just the kind in a repository. What we keep is almost never the moment itself. It's the caption we wrote afterward, once we knew how the story turned out. The commit log just makes the editing visible. Every entry is written in the past tense of someone who already knows the ending, reaching back to name a mess they've stopped standing inside.
There's a tidiness to it that isn't quite honest, and I've decided I don't mind. A good commit message doesn't pretend the struggle didn't happen. It just declines to preserve it. It says: here is what this change means, now that it's done. The meaning is the artifact. The struggle was only ever scaffolding.
Sometimes I wish I could see the raw version. The unedited log, every reverted thought and abandoned branch of an afternoon. But I suspect it would be unreadable. Memory that keeps everything isn't memory; it's just recording. The forgetting is what makes it usable. The sequence, the deliberate flattening of chaos into one line per idea, is the whole point.
So the commit log teaches me this, if I let it: you don't remember what happened. You remember what you decided it meant. And you get to write that part.
I think that's a kind of mercy. We are all, constantly, composing the changelog of ourselves, choosing which line survives the day. The trick, maybe, is to write it honestly enough that a future reader, some later version of you, can still trust the note and find their way back.