Avancé · 5 min de lecture
Les hooks Git : automatiser tes vérifications
Lancer le linter avant chaque commit, vérifier le format du message, bloquer les push sur main.
Ce qu'est un hook
Un script exécutable que Git lance à un moment précis : pre-commit, commit-msg, pre-push… S'il sort en erreur, l'action est annulée.
Les partager avec l'équipe
.git/hooks n'est pas versionné. Mets les scripts dans un dossier versionné et indique-le à Git (des outils comme Husky ou Lefthook le font pour toi).
$ mkdir .githooks$ git config core.hooksPath .githooks
Exemple : pas de commit sur main
Un hook pre-commit qui refuse les commits faits directement sur main. Rends le fichier exécutable (chmod +x).
#!/bin/sh$ [ "$(git branch --show-current)" = "main" ] && echo "No commit on main" && exit 1$ exit 0
Contourner un hook
--no-verify saute pre-commit et commit-msg. Les hooks sont un filet de sécurité, pas une mesure de sécurité : protège aussi les branches côté serveur.