Every developer has seen it. A PR with a single commit message: "fixed stuff". Or "update". Or the absolute classic — "."
We laugh because we've all done it. But bad commit messages aren't just a matter of style — they cost real time every single day:
Code reviews take longer because there's no context
Bisecting bugs becomes guesswork
Changelog generation turns into manual archaeology
New team members can't understand the project's history
I've reviewed thousands of PRs and written more commits than I care to count. Here's what actually works — practical rules you can start using today.
The 7 Rules of Good Commit Messages
These aren't theoretical. Every single one solves a real pain point.
1. Separate subject from body with a blank line
Bad:
fix the login bug and update the README while I was at it
Enter fullscreen mode
Exit fullscreen mode
Good:
fix(auth): handle token expiration on 401 responses
The login flow silently fails when a cached token expires mid-session.…