Our commit message format is as follows:
Tag: Short description (fixes #1234)
Longer description here if necessary
The first line of the commit message (the summary) must have a specific format. This format is checked by our build tools.
- The message summary should be a one-sentence description of the change
- it must be 72 characters in length or shorter
- If the pull request addresses an issue, then the issue number should be mentioned at the end
- If the commit doesn't completely fix the issue, then use (refs #1234) instead of (fixes #1234).
- The Tag is one of the following:
Fix- for a bug fix.Update- either for a backwards-compatible enhancement or for a rule change that adds reported problems.New- implemented a new feature.Breaking- for a backwards-incompatible enhancement or feature.Docs- changes to documentation only.Build- changes to build process only.Upgrade- for a dependency upgrade.Chore- for refactoring, adding tests, etc. (anything that isn't user-facing).
Here are some good commit message summary examples:
Build: Update Travis to only test Node 0.10 (refs #734)
Fix: Semi rule incorrectly flagging extra semicolon (fixes #840)
Upgrade: Esprima to 1.2, switch to using comment attachment (fixes #730)
The commit message format is important because these messages are used to create a changelog for each release. The tag and issue number help to create more consistent and useful changelogs.