The reasons for these conventions: #
- automatic generating of the changelog
- simple navigation through git history (eg. ignoring style changes)
Format of the commit message: #
Message subject (first line) #
First line cannot be longer than 70 characters, second line is always
blank and other lines should be wrapped at 80 characters.
<type> values: #
- feat (new feature)
- fix (bug fix)
- docs (changes to documentation)
- style (formatting, missing semi colons, etc; no code change)
- refactor (refactoring production code)
- test (adding missing tests, refactoring tests; no production code change)
- chore (updating grunt tasks etc; no production code change)
<scope> values: #
<scope> can be empty (eg. if the change is a global or difficult
to assign to a single component), in which case the parentheses are
Message body #
- uses the imperative, present tense: “change” not “changed” nor “changes”
- includes motivation for the change and contrasts with previous behavior
For more info about message body, see:
Referencing issues #
Closed issues should be listed on a separate line in the footer prefixed with "Closes" keyword like this:
or in case of multiple issues:
Breaking changes #
All breaking changes have to be mentioned in footer with the
description of the change, justification and migration notes.
`port-runner` command line option has changed to `runner-port`, so that it is
consistent with the configuration file syntax.
To migrate your project, change all the commands, where you use `--port-runner`
This document is based on AngularJS Git Commit Msg Convention.