:author: JerodG :email: github.haste026@passmail.net :docdate: 22 Aug 2024 :revdate: {docdatetime} :doctype: book :experimental: :sectanchors: true :sectlinks: true :sectnumlevels: 5 :sectids: :sectnums: all :toc: left :toclevels: 5 :icons: font :imagesdir: ../images :iconsdir: ../icons :stylesdir: ../styles :scriptsdir: ../js :stylesheet: styles.css :description: Conventional Commit Cheat Sheet :keywords: git, conventional, commit, cheat, sheet :url-repo: https://gist.github.com/jerodg/074496e1e0014faeeaed34fb1ef64cd9 = {description} == Types |=== | ```feat``` | Features | A new feature | ```fix``` | Bug Fixes | A bug fix | ```docs``` | Documentation | Documentation only changes | ```style``` | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | ```refactor``` | Code Refactoring | A code change that neither fixes a bug nor adds a feature | ```perf``` | Performance Improvements | A code change that improves performance | ```test``` | Tests | Adding missing tests or correcting existing tests | ```build``` | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | ```ci``` | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | ```chore``` | Chores | Other changes that don't modify src or test files | ```revert``` | Reverts | Reverts a previous commit |=== == Commit Message Structure [source,highlight,plaintext] ---- [optional scope]: [optional body] [optional footer] ---- == Specification The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in https://www.ietf.org/rfc/rfc2119.txt[RFC 2119]. . Commits MUST be prefixed with a type, which consists of a noun, feat, fix, etc., followed by a colon and a space. . The type feat MUST be used when a commit adds a new feature to your application or library. . The type fix MUST be used when a commit represents a bug fix for your application. . An optional scope MAY be provided after a type. A scope is a phrase describing a section of the codebase enclosed in parenthesis, e.g., fix(parser): . A description MUST immediately follow the type/scope prefix. The description is a short description of the code changes, e.g., fix: array parsing issue when multiple spaces were contained in string. . A longer commit body MAY be provided after the short description, providing additional contextual information about the code changes. The body MUST begin one blank line after the description. . A footer MAY be provided one blank line after the body. The footer SHOULD contain additional issue references about the code changes (such as the issues it fixes, e.g., Fixes #13). . Breaking changes MUST be indicated in the footer AND by appending a ! after the type/scope. A BREAKING CHANGE introduces a breaking API change (correlating with MAJOR in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type. . A description MUST be provided after the BREAKING CHANGE:, describing what has changed about the API, e.g., BREAKING CHANGE: environment variables now take precedence over config files. . The footer MUST only contain BREAKING CHANGE, external links, issue references, and other meta-information. . Types other than feat and fix MAY be used in your commit messages. == References https://www.conventionalcommits.org/[Conventional Commits]