Skip to content

Instantly share code, notes, and snippets.

@Avery2
Forked from joshbuchea/semantic-commit-messages.md
Last active December 13, 2023 20:55
Show Gist options
  • Select an option

  • Save Avery2/e106c2da5c2beb838aaafcd500ce8a82 to your computer and use it in GitHub Desktop.

Select an option

Save Avery2/e106c2da5c2beb838aaafcd500ce8a82 to your computer and use it in GitHub Desktop.
Semantic Commit Messages

Semantic Commit Messages

See how a minor change to your commit message style can make you a better programmer.

Format: <type>(<scope>): <subject>

<scope> is optional

Example

feat: add hat wobble
^--^  ^------------^
|     |
|     +-> Summary in present tense.
|
+-------> Type: chore, docs, feat, fix, refactor, style, or test.

More Examples:

  • feat: (new feature for the user, not a new feature for build script)
  • fix: (bug fix for the user, not a fix to a build script)
  • docs: (changes to the documentation)
  • style: (formatting, missing semi colons, etc; no production code change)
  • refactor: (refactoring production code, eg. renaming a variable)
  • test: (adding missing tests, refactoring tests; no production code change)
  • chore: (updating grunt tasks etc; no production code change)

Additional Types

Besides the standard types like feat, fix, docs, etc., consider these additional types for specific scenarios:

  • prep (Preparatory Work): For changes that set the groundwork for future features or fixes. Useful for refactoring or setting up code structures.
  • explore (Exploratory Work): For experimental changes where the end goal isn't fully defined. Ideal for testing new approaches or technologies.
  • proto (Prototyping): For rapid, often throwaway coding to test ideas or understand a problem better. These commits may not be part of the final product.
  • partial (Partial Work): For commits that represent an incomplete portion of a larger feature or fix. This type is particularly useful for large tasks that need to be divided into smaller, reviewable segments. It indicates that the commit is part of a bigger picture and not a standalone change.

References:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment