Conventional Commits - Types Cheat Sheet

Types as prefix in conventional commits, are used to set the overall context of the applied changes in a commit message. With a type, a viewer should be able to quickly understand what the intention of the commit is. So e.g. is it a new feature or some documentation that is added with a particular commit. It often happens to me, that I am unsure which type in particular I finally shall use in my commit messages. The conventional commits formatting, is heavily inspired by the Angular commit message guidelines. I have collected a few types so far and put together a small cheat sheet in the table below with some common examples. All you have to do is, to find a proper description for your specific commits. For doing so, ask yourself the following question: What will my commit do once it is applied?

SyntaxDescriptionExample
feataddition of some new featuresadd a new navbar
addchanges to add new capability or functionsadd google track id
blognew blog postadd a new blog post
cutremoving the capability or functionsremove tags
fixa bug fixfix layout issue
bumpincreasing the versions or dependency versionsupdate cypress-axe
buildchanges to build system or external dependenciesswitch from npm to yarn
make/opschange to the build process, tooling, infra, deploy, recoveryadd sonarqube config
cichanges to CI configuration files and scriptsadd new ci stage
docchanges to the documentationupdate README
testadding missing tests or correcting existing testsadd a first test
chorechanges for housekeeping/cleanupremove unused files
refactora code change/cleanup that neither fixes a bug nor adds a featurecleanup abstact class Cat
stylechanges to the code that do not affect the meaningbrush up main page
optimize/perfa code change that improves performancereduce image sizes
revertreverting an accidental commitrevert dependency update

I hope you can use some things from this cheat 🗒️ in your daily commit life.

Cheers, take care and smile once in a while 🙂

Resources

become the best git user

© 2021 Simon Berner • Crafted with ❤️

v1.0.0