Leave Breadcrumbs in Your Git Commits
A good commit message is not etiquette. It's a gift to Future You, who will be tired and slightly offended by Past You.
I used to write messages like "fix stuff" and "wip." They felt honest in the moment. Six months later they were useless archaeology. The diff showed what changed. It never showed why.
These days I aim for one sentence that answers: what decision did this commit lock in? Not "updated auth," but "reject expired tokens before hitting the user table." Not "refactor," but "split billing webhook so retries don't double-charge."
A few habits that help:
- Write the message before you stage, while the reason is still warm.
- If you need more than two sentences, the commit is probably doing two jobs.
- Prefer verbs that name intent: "guard," "extract," "rename," "cache," "delete."
Your teammates will thank you. More importantly, the person who has to debug this at 1 a.m. — often you — will know where to dig.
Breadcrumbs don't make you a better writer. They make your history searchable by meaning, not just by files.
