Examples:
feat: new feature
fix(scope): bug in scope
feat!: breaking change in API
chore(deps): update dependencies
Commit message structure
Simple
<type>[optional scope]: <description>
[optional body]
[optional footer]
A commit that has the text
BREAKING CHANGE:
at the beginning of its optional body or footer section introduces a breaking API change
Extended
<type=feat|fix|perf|build|ci|chore|docs|refactor|revert|style|test>[(optional scope)]: <description, imperative, present tense, lowercase, no dot at end>
[
Optional body section.
Motivation for the change and contrast with previous behaviour.
Can span multiple lines.
]
[BREAKING CHANGE: :warning: <description, imperative, present tense, lowercase, no dot at end>]
[Closes / Fixes #123, #456, #789]
[
- Additional links and meta-information
- Additional links and meta-information
- Additional links and meta-information
]
Types
Type | Meaning | Description |
---|---|---|
feat | Features | A new feature |
fix | Bug Fixes | A bug fix |
docs | Documentation | Documentation only changes |
style | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
refactor | Code Refactoring | A code change that neither fixes a bug nor adds a feature |
perf | Performance Improvements | A code change that improves performance |
test | Tests | Adding missing tests or correcting existing tests |
build | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
ci | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
chore | Chores | Other changes that don’t modify src or test files |
revert | Reverts | Reverts a previous commit |