Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

  1. pipx install pre-commit dans un terminal.
  2. 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:

Using commitizen cli

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/