Conventional Commits
Convention for meaningful & machine-readable Commit Messages
Conventional Commits Format
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Subset of possible Labels
Labels | Description |
---|---|
feat | patch a bug (related to PATCH in Semantic Versioning) |
chore | introduce a feature (related to MINOR in Semantic Versioning) |
docs | changes to documentation |
style | non-functional changes to appearance |
refactor | non-functional changes |
Remarks
- I’ve adopted the Convention Angular uses, without conforming to Semantic Versioning
- Having to think which label to use trains yourself to think about your commits more
- It also enforces separation of different types of changes
Examples
docs(REAMDME): add CI badges
fix(backend): Spring 6 CSRF
chore(frontend): update weblate to 0.8
# commit with a breaking change
feat(app): revamp order process
BREAKING CHANGE: public interface changes for api v1 /orders
References
- Angular Commit Message Guidelines
- Source: Conventional Commits
- I wrote about it here Day 24 - Use Conventional Commits