Skip to content

Instantly share code, notes, and snippets.

@joshbuchea
Last active July 2, 2025 11:54
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:

@guneyozsan
Copy link

@major-phyo-san I used to use bump version and chore: bump version. But in our current project versioning is updated by CI using git tags so no more specific commits. In your specific example that would make 3 commits:

fix: nasty bug
feat: fancy button
chore: bump version

Side note per "Feat" vs "Feature, "Bug" is actually "a small insect" but anyway. Language is contextual, a collection of symbols interpreted within a context. If you leave the context out all words are useless junk.

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