Puis-je utiliser un script pour commettre modèle git?
-
29-09-2019 - |
Question
Nous travaillons sur les billets, et lorsque nous utilisons le numéro de ticket dans le git commit message sur la première ligne, le billet est mis à jour avec le message de livraison.
Pour simplifier nous avons toujours travailler sur une branche avec le numéro commettras.
Maintenant, je voudrais présenter avec un message de validation où le nombre de billets serait déjà rempli.
Il doit être possible, car la branche est déjà dans le modèle de commettre, mais dans les commentaires qui sont enlevés par git. Je l'ai parcouru les documents et le couple un « filet de fois, mais je dois chercher les mauvais mots, parce que je ne peux pas le trouver.
Quelqu'un peut-il aider?
La solution
Vous voulez probablement mettre en place un crochet prepare-commit-msg
sur votre dépôt local. Il pourrait ressembler à ceci (disent les branches sont nommées 'travail sur ticket-XXXX':
#!/bin/sh
ORIG_MSG_FILE="$1"
TEMP=`mktemp /tmp/git-XXXXX`
TICKETNO=`git branch | grep '^\*' | cut -b3-`
(echo "Work on ticket #$TICKETNO"; cat "$ORIG_MSG_FILE") > "$TEMP"
cat "$TEMP" > "$ORIG_MSG_FILE"
Mettre quelque chose comme ça (exécutable marqué) dans .git/hooks/prepare-commit-msg
. Vous pourriez avoir à ajuster et préciser ce bien sûr.
Autres conseils
On dirait que vous devriez être en mesure de le faire en utilisant les .git / hooks / pre-commit-msg
Un exemple simple serait:
#!/bin/sh
# $1 contains the file with the commit msg we're about to edit.
# We'll just completely clobber it for this example.
echo "Hello" > "$1"
Cela rendrait votre livraison commencer par « Bonjour ». De toute évidence, car il est un script que vous pouvez travailler un peu de magie ici pour remplir votre numéro de billet et toute autre information. Il devrait y avoir un pre-commit-msg.sample dans le .git / hooks / vous dire qui args le script REÇOIT si vous avez besoin d'autre.