Probabilmente userò semplicemente il gancio prepare-commit-msg
per aggiungerlo al file. Dalla pagina di manuale (collegata):
Questo hook viene richiamato da git commit subito dopo la preparazione del messaggio di log predefinito e prima dell'avvio dell'editor.
Sono necessari da uno a tre parametri. Il primo è il nome del file che contiene il messaggio del registro di commit. Il secondo è la fonte del messaggio di commit ... [messaggio, modello, unione, squash o commit] ...
Se lo stato di uscita è diverso da zero, il commit di git verrà interrotto.
Lo scopo del gancio è quello di modificare il file di messaggio a posto ...
È possibile ottenere il ramo corrente con git symbolic-ref HEAD
.
È possibile ignorare del tutto i modelli e fare in modo che il gancio preceda/inserisca/accoda il nome del ramo. Il caso più semplice, aggiungendo, lo script è solo una riga shebang, quindi git symbolic-ref HEAD >> "$1"
. Usa il tuo metodo preferito se vuoi incorporarlo - più leggibile per spostare l'originale da parte, scrivere e aggiungere, ma il metodo collegato nei commenti funziona certamente anche.
Se si preferisce utilizzare un modello con segnaposti, è sufficiente fare qualcosa come sed -i "s/Bug : \$BUG/BUG : $(git symbolic-ref HEAD)/" "$1"
. Sono sicuro che puoi immaginare molte altre varianti.
Si potrebbe voler sopprimere questo comportamento per alcuni dei tipi di commit (quel secondo argomento) o anche solo accenderlo se il secondo argomento è "template", se si sta utilizzando l'approccio sostitutivo boilerplate.
Oh, letto male che SRY :(È possibile impostare un alias per git commit, che prima trova il ramo corrente, lo scrive in un file temporaneo e chiama git commit con il parametro --template. – ZeissS