Commit message format
Commit messages should be written according to the guidelines described here. These guidelines are meant to ensure high-quality and easily readable content of commit messages. They also result in a pleasant viewing experience using standard Git tools.
Purpose of a commit message
Every commit message should provide the reader with the following information:
Why this change is necessary
How this change addresses the issue
What other effects this change has
Structure of a commit message
First line
The first line of a commit message represents the title or summary of the change. Standard Git tools often display it differently than the rest of the message, for example in bold font, or show only this line, for example when summarizing multiple commits.
A commit message’s first line should be formatted as follows:
The first line should be no longer than 50 characters
The first line should start with a capital letter
The first line should not end with a full-stop
The first line should be followed by a blank line, if and only if the commit message contains more text below
The first line should use the imperative present tense, e.g. “Add cool new feature” or “Fix some little bug”
Issue references
Issues can be referenced anywhere within a commit message via their numbered tag, e.g. “#7”.
Commits that change the status of an issue, for example fixing a bug or
implementing a feature, should make the relationship and change explicit on
the last line of the commit message using the following format:
Resolve #X
. GitHub will automatically update the issue accordingly.
Please see GitHub’s help on commit message keywords for more information.
Example
Commit title summarizing the change (50 characters or less)
Subsequent text providing further information about the change, if
necessary. Lines are wrapped at 72 characters.
- May contain bullet points, prefixed by "- " at the beginning of the
first line for a bullet point and " " for subsequent lines
- Non-breakable text, such as long URLs, may extend past 72 characters;
doesn't look nice, but at least they still work
Background and inspiration
The commit message format described here is based on common views, such as those expressed here: