Pre-commit // Commitizen
Ce sont deux outils permettant pour l’un de créer des git hooks que ce soit au moment du push ou au moment d’écrire un message de commit.
Pour l’instant, nous avons fait le choix d’utiliser qu’un git hook pour les messages de commit.
Installation: Pre-Commit
Etant donné que c’est un package Python, je conseille de passer par l’outil pipx, qui fonctionne comme les outils de versionning pour Node (volta, nvs, etc), ca facilitera les installations pour la suite.
- pipx install pre-commit dans un terminal.
- pre-commit install dans le dossier de votre projet (ici on se positionne dans
pecunia-api/
afin que cela installe les git hooks correspondants étant donné que nous ne commitions pas le dossier.git
C’est tout pour Pre-Commit, le fichier de configuration .pre-commit-config.yaml
est normalement déjà présent.
Installation: Commitizen
Normalement vous avez pipx
sur votre poste de travail.
1.pipx ensurepath
2. pipx install commitizen
3. pipx upgrade commitizen
Si vous avez un retour en faisant cz -h
c’est que vous avez bien installé Commitizen. Bravo !
Comment combiner les deux ?
Quand vous effectué un changement dans les fichers et que vous voulez commit votre travail :
Vous n’avez qu’à ajouter comme d’habitude
git add .
ou git add <des fichiers>
puis afin de respecter la nomenclature vous faites
cz
: cela va vous ouvrir une boite de dialogue dans votre terminal, vous avez juste à choisir ce que vous voulez faire comme dans cette petite vidéo:
et si vous voulez tout de meme passer par un git commit classique. Il faudra respecter la nomenclature parfaitement sinon…
Conclusion
Avec ses deux outils, le project sera cohérent au niveau de ses commits et de ses attentions derrière.
De plus Commitizen permet de gérer la version de nos applications avec cz bump
en utilisant semantic versionning et permettant aussi de créer des changelogs
source: https://pre-commit.com/#install
source: https://commitizen-tools.github.io/commitizen/
source: https://semver.org/