L’outil pre-commit
À quoi sert l’outil pre-commit ?
L’outil pre-commit permet de vérifier que le code est conforme à certaines règles avant de le valider.
Installation de pre-commit
Pre-commit est un outil écrit en python. Pre-commit est un outil majeur, qui mérite d’être installé en global sur la machine. Pour installer pre-commit, il suffit donc de lancer la commande suivante :
pip install pre-commit
Configuration de pre-commit
Pre-commit utilise un fichier de configuration .pre-commit-config.yaml pour définir les règles à appliquer.
Exemple d’utilisation pour restructuredtext
Commiter en urgence
Commiter en urgence n’est pas une bonne pratique. Cependant, il est parfois nécessaire de commiter rapidement. Dans ce cas toujours le faire sur une branche temporaire afin de ne pas polluer la branche principale. Il faut prendre en compte que dans ce cas, il faudra probablement ré-écrire l’historique des commits pour que ce commit «intermédiaire» n’apparaisse pas comme tel et que l’historique reste simple, clair et compréhensible.
Il est possible de commiter en urgence en utilisant l’option --no-verify.
Il est également fortement recommandé d’ajouter dans le message de commit :
#. un texte explicit indiquant que c’est un commit temporaire (par exemple [WIP] pour Work In Progress),
#. un texte explicatif sur l’état du code,
#. le mot clé [skip ci] pour éviter de déclencher des actions automatiques (comme des tests) sur ce commit.
git commit -m "[WIP][skip ci] 70% du refactoring effectué suite au bug 356" --no-verify
Ainsi il sera possible de faire un test automatique sur la branche principale pour vérifier que jamais de commit avec les mots clés [WIP] ou [skip ci] n’ont été mergés.
Cela permettra un contrôle accru sur la qualité du code de la branche principale et de toute branche considérée comme majeure.