Ar galiu naudoti „git“ scenarijų šabloną?

Mes dirbame su bilietais, o kai naudosime bilieto numerį pirmojoje eilutėje esančiame pranešime git, tuomet bilietas atnaujinamas su įvykio pranešimu.

Kad viskas būtų paprasta, mes visada dirbame su filialu su fiksuotu numeriu.

Dabar norėčiau gauti įsipareigojimo pranešimą, kuriame jau užpildytas bilieto numeris.

Tai turėtų būti įmanoma, nes filialas jau yra įsipareigojimo šablone, bet komentaruose, kurie pašalinami su git. Per kelis kartus peržiūrėjau dokumentus ir „tinklą“, bet turiu ieškoti netinkamų žodžių, nes negaliu jų rasti.

Ar kas nors gali padėti?

25
19 авг. nustatė Peter Tillemans 19 rug. 2010-08-19 22:11 '10 10:11 val. 2010-08-19 22:11
@ 2 atsakymai

Jūs tikriausiai norėsite konfigūruoti prepare-commit-msg kablys vietinėje saugykloje. Tai gali atrodyti taip (tarkime, kad filialai vadinami „work-on-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" 

Įdėkite kažką panašaus į (pažymėtą vykdomąjį failą) .git/hooks/prepare-commit-msg . Žinoma, jūs galite jį patikslinti ir tobulinti.

34
19 авг. atsakymą pateikė Walter Mundt 19 rug. 2010-08-19 22:33 '10 10:33 val. 2010-08-19 22:33

Atrodo, kad turėtumėte tai padaryti naudodami .git / hooks / pre-įsipareigojimų-msg

Paprastas pavyzdys yra:

 #!/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" 

Dėl to jūsų įsipareigojimas pradėti „Hello“. Akivaizdu, kad kadangi tai yra scenarijus, galite sugalvoti magiją, kad galėtumėte užpildyti savo bilieto numerį ir kitą informaciją. .Git / hooks / directory faile turėtų būti failas pre-ded-msg.sample, nurodantis, kokie argumentai scenarijai gauna, jei jums reikia kažko kito.

4
19 авг. atsakymas suteikiamas 19 d. 2010-08-19 22:30 '10 10:30 val. 2010-08-19 22:30

Žr. Kitus klausimus apie „ tag“ žymes arba užduokite klausimą