La question dit tout. Existe-t-il un moyen d'effectuer une action avant une fusion? J'imagine qu'il existe un moyen d'utiliser un hook pre-commit
, mais je ne suis pas tout à fait sûr.
Vous pouvez essayer d'utiliser le hook prepare-commit-msg
. Le deuxième argument sera merge
"si la validation est une fusion ou un fichier .git/MERGE_MSG
existe". Un état de sortie différent de zéro annulera la validation.
Je ne pense pas que cela fonctionnera avec une fusion à avance rapide, car il n'y aura pas de message de validation.
Plus d'infos sur les hooks: https://www.kernel.org/pub/software/scm/git/docs/githooks.html#_prepare_commit_msg
Une autre solution intéressante serait d’ajouter un script Shell, appelez-le comme vous le souhaitez, Puis ajoutez ces lignes au script:
git() {
if [ "$1" == "merge" ]; then
echo "seems to work like a charme"
fi
command git "$@"
}
git "$@"
Puis faire un
alias git="./my-pre-merge-script.sh"
Alors tu peux y aller. Vous venez d'ajouter votre propre point d'ancrage avant la fusion ... Je sais que vous n'avez pas accès aux arguments que git transmettrait à un véritable point d'ancrage avant la fusion, mais vous pouvez préparer des fichiers ou tout ce que vous voulez préparer pour la fusion maintenant ; Personnellement, je suis très heureux de cette approche: j'ai passé 2 ou 3 jours entiers à trouver quelque chose à pré-fusionner, puis j'ai dû choisir le pré-commit-msg que je n'ai pas trouvé assez précis pour mes besoins. Cela résout tous mes problèmes. J'espère que cela aidera tout le monde à l'avenir.