On commence par définir le modèle de hooks de pre-commit.
-
Créer un dossier dans votre profil qui hébergera vos templates de création de projets (ce template sera utilisé ensuite à chaque initialisation) :
git config --global init.templatedir '~/.git-templates'
-
Créer un répertoire dans ce dossier pour stocker les hooks :
mkdir -p ~/.git-templates/hooks
-
Contribuer votre script de pre-commit dans
~/.git-templates/hooks/pre-commit
. Pour interdire lesvar_dump
, par exemple :#!/bin/sh VAR=$(git diff | grep -w "var_dump") if [ -z $VAR ]; then echo "Oups, tu as laissé un var_dump…" exit 1 fi
-
Faire en sorte que le script soit exécutable
chmod a+x ~/.git-templates/hooks/pre-commit
-
Réinitialiser chaque dépôt pour que le template soit pris en compte :
git init
Si votre projet contient déjà des hooks, cette commande ne fera rien. À vous de vous responsabiliser pour aller supprimer vous-même les scripts présents dans le dossier .git
avant de re-jouer git init
.
Si vous voulez allez plus loin, il existe plusieurs projets proposant des hooks dédiés à des tâches définies. Par exemple, sous PHP, Grumphp.