Mostly reasonable guidelines for commit messages.
Commit messages consist of a message, description and related.
<message>
<description>
<related>
A message consists of a type, scope, and subject.
No line should be longer than 80 characters long, for optimal github viewing.
<type>(<scope>): <subject>
Examples: refactor(plans#show): remove 1 of 4 templating languages
feat
: New featurefix
: Bug fixformat
: Change not affecting the meaning of code (white-space, formatting, etc)docs
: Documentation-only changestyle
: Stylesheet-only changerefactor
: Change that neither fixes a bug or adds a featureperf
: Change that improves performancetest
: Addition of a missing testchore
: Changes to the build process or auxiliary tools and libraries
The scope could be anything specifying the site of the commit change. For
example plans#show
, PlanPerson
, LiveChatMessageList
, .tab-list
, etc...
The subject contains a succinct description of the change:
- use the imperative, present tense: "change" not "changed" nor "changes"
- don't use capitalize first letters
- don't use trailing punctuation (.)
Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes" The body should include the motivation for the change.
The footer should contain any information about Breaking Changes and is the place to reference Trello cards, or GitHub issues that the commit Closes.
This guide is pirated from inspired by Angular's excellent
CONTRIBUTING.md.
A detailed explanation can be found in this document.