The Art of Writing Useful Commit Messages
Why Bother?
Six months from now you will run git blame on a confusing line and find a commit message that says "fix stuff." That message helps no one. A good commit message explains the why, not just the what.
The 50/72 Rule
Keep the subject line under 50 characters and wrap the body at 72. This is not arbitrary — it matches how Git tooling displays messages in logs, GitHub PR lists, and terminal output. Respecting these limits keeps your history scannable.
Conventional Commits
Prefixing messages with feat:, fix:, docs:, or refactor: creates a machine-readable history. You can auto-generate changelogs, trigger CI pipelines based on commit type, and quickly filter the log for specific kinds of changes.
Tell a Story
A well-maintained Git history reads like a project journal. Each commit is a chapter: what problem existed, what decision was made, and what changed. Future contributors — including future you — will thank you for the context.