Kaip išvardyti visas žymes kartu su pilnu pranešimu git?

Noriu, kad git rodytų visas žymes kartu su visa anotacija arba pranešančiu pranešimu. Kažkas panašaus yra arti:

 git tag -n5 

Tai daro būtent tai, ko aš noriu, išskyrus tai, kad ji bus rodoma tik pirmuose 5 žymų pranešimo eilutėse.

Manau, kad galiu naudoti labai daug. Koks yra didžiausias skaičius, kurį galiu naudoti čia? Ar tas pats kiekviename kompiuteryje?

UPDATE . Turėjau daug laiko galvoti apie tai, ir dabar manau, kad aš nebūtinai noriu parodyti visą pranešimą, jei jis yra neįprastai ilgas. Atrodo, kad kažkas panašaus man puikiai veikia:

 git tag -n99 

Jei pranešimo žyma iš tiesų yra ilgesnė nei 99 eilutės, aš to nenoriu matyti. Tačiau git yra labai sudėtingas ir lankstus. Kada tai nebūtų geriausias sprendimas? Pastebėjau, kad daugelis išleistų sprendimų buvo naudojami, bet ar tai ne tik pavyzdys, kurio ieškoti?

230
19 марта '11 в 1:11 2011-03-19 01:11 still_dreaming_1 yra nustatytas kovo 19 '11, 11:11 am. 2011-03-19 01:11
@ 6 atsakymai
 git tag -n99 

Trumpas ir saldus. Tai parodys iki 99 eilučių iš anotacijos / įsipareigojimo pranešimo. Čia yra nuoroda į oficialų git žymos dokumentaciją: http://git-scm.com/docs/git-tag

55
14 окт. atsakymas suteiktas still_dreaming_1 14 okt. 2014-10-14 20:33 '14, 20:33, 2014-10-14 20:33

Išbandykite jį, ji žymės visas žymes kartu su anotacijomis ir 9 pranešimų eilutėmis kiekvienai žymei:

 git tag -n9 

taip pat gali naudoti

 git tag -l -n9 
border=0

jei išvardytos konkrečios žymos:

 git tag -l -n9 v3.* 

(pvz., pirmiau pateikta komanda parodys žymes, prasidedančias „v3“.)

-l, --list Įveskite žymas su pavadinimais, atitinkančiais pateiktą modelį (arba visus, jei nenurodytas modelis). Vykdant „git“ žymę be argumentų taip pat išvardytos visos žymos. Raštas yra apvalkalo modelis (ty naudojant fnmatch (3)). Galite nurodyti kelis šablonus; jei kuri nors iš jų atitinka, žyma rodoma.

224
31 дек. Atsakymą pateikė Zubair, gruodžio 31 d. 2012-12-31 16:40 '13, 16:40, 2012-12-31 16:40

Longhoro atsakymas (naudojant git show ) yra artimas klausimui. Tačiau ji taip pat apima žymę nurodytą įsipareigojimą kartu su visu pataisymu. Kadangi įsipareigojimas gali būti šiek tiek nesusijęs su žyma (tai tik vienas įsipareigoja, kad žyma bando užfiksuoti), tai gali būti nepageidaujama. Aš šiek tiek geriau aptinku:

 for t in `git tag -l`; do git cat-file -p `git rev-parse $t`; done 
17
08 янв. atsakymas duotas Pauliui Kaina 08 jan. 2013-01-08 00:35 '13, 0:35, 2013-01-08 00:35

Tai toli gražu nėra graži, tačiau galite sukurti scenarijų ar slapyvardį, kuris daro tai panašų:

 for c in $(git for-each-ref refs/tags/ --format='%(refname)'); do echo $c; git show --quiet "$c"; echo; done 
7
19 марта '11 в 1:58 2011-03-19 01:58 atsakymą pateikė Markas Longairas kovo 19 d. 11 val. 1:58 2011-03-19 01:58

Tik paskutinis pranešimas:

 git cat-file -p $(git rev-parse $(git tag -l | tail -n1)) | tail -n +6 
2
01 окт. atsakymas suteiktas gaRex 01 okt. 2014-10-01 04:11 '14, 04:11 am 2014-10-01 04:11

Norėčiau tai padaryti komandų eilutėje, bet jei nesate prieš internetinę sąsają ir naudosite „GitHub“, apsilankykite https://github.com/user/repo/tags ir spustelėkite „...“ šalia kiekvienos žymės, kurią norite rodyti jo anotaciją.

0
26 сент. atsakymas suteiktas prieš 26 sep . 2013-09-26 16:22 '13, 16:22, 2013-09-26 16:22

Kiti klausimai apie žymes arba Užduoti klausimą