Commit structure
Subject: 6/72 chars
Live preview
feat:
Why Format Git Commit Messages?
Well-formatted commit messages make project history readable and searchable. Conventional Commits provides a consistent structure: type(scope): description. This enables automated changelog generation, semantic versioning, and easier code review. Tools like semantic-release and commitlint rely on this format.
A good subject line is imperative, under 72 characters, and summarizes the change. The body provides context; the footer links issues and documents breaking changes. This formatter helps you compose messages that follow best practices.
Conventional Commits Types Explained
feat: a new feature. fix: a bug fix. docs: documentation only. style: formatting, missing semicolons, etc. refactor: code change that neither fixes a bug nor adds a feature. perf: performance improvement. test: adding or correcting tests. build: build system or external dependencies. ci: CI configuration. chore: other changes. revert: reverts a previous commit.
Each type signals intent to automated tools and humans. Use the most specific type that applies. For breaking changes, add ! after the type/scope or use BREAKING CHANGE: in the footer.
Best Practices for Commit Messages
Use the imperative mood: 'Add feature' not 'Added feature'. Keep the subject line under 72 characters. Separate subject from body with a blank line. Wrap the body at 72 characters. Use the footer for breaking changes and issue references. Reference issues with Closes, Fixes, or Resolves.
This tool provides a live preview so you can see exactly how your commit will look. The character count warns when the subject exceeds 72 characters. One-click copy makes it easy to paste into your terminal.
Frequently Asked Questions
Related Tools
Explore More Tools
Find this tool useful? Buy us a coffee to keep DuskTools free and ad-light.