Skip to content

Instantly share code, notes, and snippets.

@joshbuchea
Last active April 16, 2025 13:32
Show Gist options
  • Save joshbuchea/6f47e86d2510bce28f8e7f42ae84c716 to your computer and use it in GitHub Desktop.
Save joshbuchea/6f47e86d2510bce28f8e7f42ae84c716 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)

References:

@keithpjolley
Copy link

Curious what people do when more than one type of "thing" is done in a single commit. For instance, to polish up some python code before committing I ran RightTyper, Trunk format, and then added in some comments on the code.

"Learn to commit between each task" is good advice but sometimes that horse is already out of the barn.

@harizjet
Copy link

nice script @cfgnunes; but you can also use pre-commit hook to enforce it.

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