Cheat Sheet - Conventional Commits

Examples:

feat: new feature
fix(scope): bug in scope
feat!: breaking change in API
chore(deps): update dependencies

Commit message structure

Simple

<­typ­e>­[o­ptional scope]: <de­scr­ipt­ion­>

[optional body]

[optional footer]

A commit that has the text BREAKING CHANGE: at the beginning of its optional body or footer section introduces a breaking API change

Extended

<type=feat|fix|perf|build|ci|chore|docs|refactor|revert|style|test>[(optional scope)]: <description, imperative, present tense, lowercase, no dot at end>

[
  Optional body section.

  Motivation for the change and contrast with previous behaviour.

  Can span multiple lines.
]

[BREAKING CHANGE: :warning: <description, imperative, present tense, lowercase, no dot at end>]

[Closes / Fixes #123, #456, #789]

[
  - Additional links and meta-information
  - Additional links and meta-information
  - Additional links and meta-information
]

Types

Type Meaning Description
feat Features A new feature
fix Bug Fixes A bug fix
docs Docume­ntation Docume­ntation only changes
style Styles Changes that do not affect the meaning of the code (white­-space, format­ting, missing semi-c­olons, etc)
refactor Code Refact­oring A code change that neither fixes a bug nor adds a feature
perf Perfor­mance Improv­ements A code change that improves perfor­mance
test Tests Adding missing tests or correcting existing tests
build Builds Changes that affect the build system or external depend­encies (example scopes: gulp, broccoli, npm)
ci Continuous Integr­ations Changes to our CI config­uration files and scripts (example scopes: Travis, Circle, Browse­rStack, SauceLabs)
chore Chores Other changes that don’t modify src or test files
revert Reverts Reverts a previous commit