Types of commits
feat
– a new feature is introduced with the changesfix
– a bug fix has occurredchore
– changes that do not relate to a fix or feature and don't modify src or test files (for example updating dependencies)refactor
– refactored code that neither fixes a bug nor adds a featuredocs
– updates to documentation such as a the README or other markdown filesstyle
– changes that do not affect the meaning of the code, likely related to code formatting such as white-space, missing semi-colons, and so on.test
– including new or correcting previous testsperf
– performance improvementsci
– continuous integration relatedbuild
– changes that affect the build system or external dependenciesrevert
– reverts a previous commit
You can append a type like so ex:
test-red
– a failing test that requires implementation
Structure of Commit
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Ex:
feat : a student can be added to the database
This allows us to persist the registration of a student
Completes User Story #321
Tips
- Commit frequently, add a commit for every small change/block of change you make
Code Reviewers
- Squash and merge changes into well wrapped user story completion
Tools
To help enforce good commit messages we can use commitizen
Ressources
https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/