The reasons for these conventions: #
- automatic generating of the changelog
- simple navigation through git history (e.g. ignoring style changes)
Format of the commit message: #
Example commit message: #
fix(middleware): ensure Range headers adhere more closely to RFC 2616
Add one new dependency, use `range-parser` (Express dependency) to compute
range. It is more well-tested in the wild.
Message subject (first line) #
The first line cannot be longer than 70 characters, the second line is always blank and
other lines should be wrapped at 80 characters. The type and scope should
always be lowercase as shown below.
<type> values: #
- feat (new feature for the user, not a new feature for build script)
- fix (bug fix for the user, not a fix to a build script)
- docs (changes to the documentation)
- style (formatting, missing semi colons, etc; no production code change)
- refactor (refactoring production code, eg. renaming a variable)
- 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 (e.g. if the change is a global or difficult
to assign to a single component), in which case the parentheses are
omitted. In smaller projects such as Karma plugins, the
<scope> is empty.
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 the 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. See the
commit history for examples of properly-formatted commit messages.