Kaip pažymėti didelį fiksavimą git?

Mes esame nauji, kad galėtume gituoti, ir aš noriu nustatyti žymę mūsų saugyklos pradžioje. Mūsų gamybos kodas yra toks pat kaip ir šaltinio saugykla, bet nuo to laiko mes įsipareigojome. Ženklas pradžioje leido mums „sugrąžinti“ gamybą į žinomą stabilią būseną.

Taigi, kaip pridėti žymą prie savavališko, senesnio nustatymo?

755
10 дек. nustatyti hogsolo 10 dec. 2010-12-10 02:23 '10, 02:23, 2010-12-10 02:23
@ 8 atsakymai

Pavyzdys:

 git tag -a v1.2 9fceb02 -m "Message here" 

Kur 9fceb02 yra 9fceb02 dalis įsipareigojimo identifikatoriaus.

Tada galite juos stumti naudodami git push --tags origin master

Galite atlikti git log kad parodytumėte visus dabartinio filialo priskyrimo identifikatorius.

„Pro Git“ taip pat turi gerą skyrių apie žymes .

Įspėjimas: tai sukuria žymes su dabartine data (pvz., Ši vertė bus rodoma „github“ leidimo puslapyje). Jei norite, kad žyma būtų su data su nustatymo data, žr. Kitą atsakymą .

1216
10 дек. atsakymas dkinzer 10 dec. 2010-12-10 02:27 '10, 2:27, 2010-12-10 02:27

Tik kodas

„Atsarginės žymos“ , kuriame sakoma: 

Jei importavote kai kuriuos pakeitimus iš kito VCS ir norėtumėte pridėti žymes svarbiausiems savo darbų išleidimams, naudinga nurodyti datą, kurią įterpti į žymos objektą; tokie žymenų objekto duomenys, pavyzdžiui, veikia žymių užsakymą „gitweb“ sąsajoje.

Jei norite nustatyti ateityje naudojamų žymos objektų datą, nustatykite aplinkos kintamąjį GIT_COMMITTER_DATE (žr. GIT_COMMITTER_DATE galimų verčių aptarimą, dažniausiai naudojamą formą: „YYYY-MM-DD HH: MM“).

Pavyzdžiui:

 $ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1 

Puslapyje „Kaip žymas Git“ matome, kad galime išskirti HEAD fiksavimo laiką su:

98
13 февр. Atsakymą pateikė Phrogz , vasario 13 d. 2014-02-13 19:09 '14, 19:09, 2014-02-13 19:09

Lengviausias būdas tai padaryti

git tag v1.0.0 f4ba1fc

su f4ba1fc yra įsipareigojimo, kurį norite pažymėti, maišos pradžia ir v1.0.0 yra versija, kurią norite pažymėti.

70
02 июня '14 в 17:30 2014-06-02 17:30 atsakymą pateikė PatrickNLT birželio 2 d. 14 d. 17:30 2014-06-02 17:30

Naudokite komandą:

 git tag v1.0 ec32d32 

Kur v1.0 yra žyma, o ec32d32 yra pataisymas, kurį norite pažymėti.

Po vykdymo galite spustelėti žymes:

 git push origin --tags 

Nuoroda:

„Git“ (versijos valdymas): kaip galiu pažymėti konkretų ankstesnį fiksavimo tašką „GitHub“?

26
21 сент. Atsakymą pateikė Adrian Cid Almaguer 21 sep. 2016-09-21 23:29 '16 at 23:29 pm 2016-09-21 23:29

Gerai , galite tiesiog:

 git tag -a <tag> <commit-hash> 

Taigi, jei norite pridėti žymą: 1.0.2, jei norite nustatyti e50f795 , tiesiog atlikite:

 git tag -a 1.0.2 e50f795 

Taip pat pabaigoje pridėsite pranešimą, naudodami -m , kažką panašaus į:

 git tag -a 1.0.2 e50f795 -m "my message" 

Galų gale, turite išsiųsti jį remote , nes tai tiesiog vykdykite:

 git push origin 1.0.2 

Jei turite daug žymių, kurių nenorite paminėti vienas po kito, tiesiog atlikite:

 git push origin --tags 

įdėti visus žymes kartu ...

Be to, sukūriau toliau pateikto paveikslėlio veiksmus, kad paaiškintumėte veiksmus: 2019

Tai yra senas klausimas, ir atsakymai jau davė visą darbą, tačiau yra nauja versija, kuri gali būti svarstoma.

Jei naudojate „SourceTree“, kad valdytumėte „git“ saugyklas, galite dešiniuoju pelės klavišu spustelėti bet kurį įvykį ir pridėti žymą. Naudodami kitą pelės klavišą, taip pat galite siųsti žymę tiesiogiai į šaką pagal kilmę.

9
15 сент. Stephan Bijzitter atsakymas rugsėjo 15 d 2015-09-15 14:56 '15 , 14:56 2015-09-15 14:56

Remiantis kitų atsakymais, čia pateikiamas vieno eilutės sprendimas, kuriuo nustatoma žyma, kai ji iš tikrųjų įvyko, naudoja anotuotą žymą ir nereikalauja „ git checkout :

 tag="v0.1.3" commit="8f33a878" bash -c 'GIT_COMMITTER_DATE="$(git show --format=%aD $commit)" git tag -a $tag -m $tag $commit' git push --tags origin master 

kur tag nustatoma į pageidaujamą žymos eilutę ir commit priskirti commit .

3
07 окт. atsakymas d . 2018-10-07 11:03 '18, 11:03 ; 2018-10-07 11:03

@Phrogz“ atsakymas yra puikus, tačiau jis neveikia „Windows“. Štai kaip pažymėti seną įsipareigojimą naudojant originalų įvykdymo datą naudodami „Powershell“:

Kiti klausimai apie „ žymes arba „ Ask a question“