Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 1.62 KB

commit_convention.md

File metadata and controls

59 lines (43 loc) · 1.62 KB

Git Commit Convention

We are using the following convention for writing git-commit messages. It is based on the one from AngularJS project(doc, commits).

Format of the commit message

<type>(<scope>): <subject>
<NEWLINE>
<body>
<NEWLINE>
<footer>

<type> is:

  • feat (feature)
  • fix (bug fix)
  • doc (documentation)
  • style (formatting, missing semicolons, ...)
  • refactor
  • test (when adding missing tests)
  • chore (maintain, ex: travis-ci)
  • perf (performance improvement, optimization, ...)

<scope> is a name of module or a directory which contains changed modules. For instance, it could be

  • kernel/expr
  • kernel
  • library/rewrite

<subject> has the following constraints:

  • use imperative, present tense: "change" not "changed" nor "changes"
  • do not capitalize the first letter
  • no dot(.) at the end

<body> has the following constraints:

  • just as in <subject>, use imperative, present tense
  • includes motivation for the change and contrasts with previous behavior

<footer> is optional and may contain two items:

  • Breaking changes: All breaking changes have to be mentioned in footer with the description of the change, justification and migration notes

  • Referencing issues: Closed bugs should be listed on a separate line in the footer prefixed with "Closes" keyword like this:

    Closes #123, #456