Paaiškinta „Git“ žyma: kaip išvardyti, sukurti, pašalinti ir rodyti žymas „Git“

Žymėjimas leidžia kūrėjams pažymėti svarbius kontrolinius punktus kuriant savo projektus. Pavyzdžiui, galima pažymėti programinės įrangos leidimo versijas. (Pvz .: v1.3.2) Tai iš esmės leidžia jums skirti specialų pavadinimą (žymą).

Norėdami peržiūrėti visas sukurtas žymas abėcėlės tvarka:

git tag

Norėdami gauti daugiau informacijos apie žymą:

git show v1.4

Yra dviejų tipų žymos:

Anotuota

git tag -a v1.2 -m "my version 1.4"

Lengvas

git tag v1.2

Jie skiriasi tuo, kaip yra saugomi.

Tai sukuria jūsų dabartinio įsipareigojimo žymas.

Jei norite pažymėti ankstesnį įsipareigojimą, nurodykite įsipareigojimo ID, kurį norite pažymėti:

git tag -a v1.2 9fceb02

Žymių pavadinimai gali būti naudojami vietoj įsipareigojimų ID, kai tikrinate ir perkeliate įsipareigojimus į nuotolinį atpirkimą.

Daugiau informacijos:

  • „Git“ dokumentacija: Dokumentacija
  • „Git“ žymėjimo skyrius: knyga

Su komanda galite išvardyti visas projekto žymas git tag(pažymėkite, kad jos bus rodomos abėcėlės tvarka):

$ git tag v1.0 v2.0 v3.0

Šis žymių sąrašo būdas puikiai tinka mažiems projektams, tačiau didesniuose projektuose gali būti šimtai žymių, todėl jums gali tekti jas filtruoti, kai ieškote svarbaus istorijos taško. Galite rasti žymas su konkrečiais simboliais, pridedant -lprie git tagkomandos:

$ git tag -l "v2.0*" v2.0.1 v2.0.2 v2.0.3 v2.0.4

Sukurkite žymą

Galite sukurti dviejų tipų žymas: komentuojamas ir lengvas. Pirmieji yra konkurenciniai objektai GIT duomenų bazėje: jie yra kontrolinės sumos, reikalauja pranešimo (pvz., Įsipareigojimų) ir saugo kitus svarbius duomenis, tokius kaip vardas, el. Pašto adresas ir data. Kita vertus, norint naudoti lengvąsias žymas, reikia susieti arba saugoti kitus duomenis, kurie veikia kaip rodyklė į konkretų projekto tašką.

Sukurkite komentuojamą žymą

Norėdami sukurti anotuotą žymą, pridėkite -a tagname -m "tag message"prie git tagkomandos:

$ git tag -a v4.0 -m "release version 4.0" $ git tag v1.0 v2.0 v3.0 v4.0

Kaip matote, -anurodoma, kad kuriate anotuotą žymą, po to eina žymos pavadinimas ir galiausiai, -mpo kurio eina žymos pranešimas, kurį norite laikyti „Git“ duomenų bazėje.

Sukurkite lengvą žymą

Lengvose žymose yra tik įsipareigojimų kontrolinė suma (jokia kita informacija nėra saugoma). Norėdami jį sukurti, tiesiog paleiskite git tagkomandą be jokių kitų parinkčių (vardo gale esantys lw ženklai naudojami lengvoms žymoms nurodyti, tačiau jas galite pažymėti taip, kaip jums patinka):

$ git tag v4.1-lw $ git tag v1.0 v2.0 v3.0 v4.0 v4.1-lw

Šį kartą nenurodėte pranešimo ar kitų susijusių duomenų, todėl žymoje yra tik nurodyto įsipareigojimo kontrolinė suma.

Peržiūrėkite žymos duomenis

Norėdami paleisti git showžymoje saugomus duomenis, galite paleisti komandą. Anotuotų žymų atveju matysite žymos duomenis ir įsipareigojimų duomenis:

$ git show v4.0 tag v4.0 Tagger: John Cash  Date: Mon Sat 28 15:00:25 2017 -0700 release version 4.0 commit da43a5fss745av88d47839247990022a98419093 Author: John Cash  Date: Fri Feb 20 20:30:05 2015 -0700 finished details

Jei jūsų žiūrima žyma yra lengva žyma, matysite tik nurodytus įsipareigojimo duomenis:

$ git show v1.4-lw commit da43a5f7389adcb9201ab0a289c389ed022a910b Author: John Cash  Date: Fri Feb 20 20:30:05 2015 -0700 finished details

Pažymėti senus įsipareigojimus

Taip pat galite pažymėti praėjusius įsipareigojimus naudodami „git“ žymą. Norėdami tai padaryti, komandos eilutėje turite nurodyti įsipareigojimo kontrolinę sumą (arba bent jau jos dalį).

Pirmiausia paleiskite „git log“, kad sužinotumėte reikalingo įsipareigojimo kontrolinę sumą:

$ git log --pretty=oneline ac2998acf289102dba00823821bee04276aad9ca added products section d09034bdea0097726fd8383c0393faa0072829a7 refactorization a029ac120245ab012bed1ca771349eb9cca01c0b modified styles da43a5f7389adcb9201ab0a289c389ed022a910b finished details 0adb03ca013901c1e02174924486a08cea9293a2 small fix in search textarea styles

Kai turėsite reikalingą kontrolinę sumą, pridėkite ją žymos kūrimo eilutės pabaigoje:

$ git tag -a v3.5 a029ac

Pamatysite, kad žyma buvo tinkamai pridėta git tag:

$ git tag v1.0 v2.0 v3.0 v3.5 v4.0 v4.1-lw

Push tags

„Git“ pagal numatytuosius nustatymus nestumia žymų, kai paleidžiate „git push“ komandą. Taigi, norėdami sėkmingai perkelti žymą į serverį, turėsite git push originkomanduoti:

$ git push origin v4.0 Counting objects: 14, done. Delta compression using up to 8 threads. Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 3.15 KiB | 0 bytes/s, done. Total 18 (delta 4), reused 0 (delta 0) To [email protected]:jcash/gitmanual.git * [new tag] v4.0 -> v4.0

Taip pat galite naudoti --tagsparinktį pridėti kelias žymas vienu metu naudodami git push originkomandą:

$ git push origin --tags Counting objects: 1, done. Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done. Total 1 (delta 0), reused 0 (delta 0) To [email protected]:jcash/gitmanual.git * [new tag] v4.0 -> v4.0 * [new tag] v4.1-lw -> v4.1-lw

Žymų tikrinimas

Galite naudoti git checkoutatsiskaitydami prie žymos, kaip paprastai darytumėte. Bet jūs turite nepamiršti, kad tai sukeltų atjungtą GALVOS būseną.

$ git checkout v0.0.3 Note: checking out 'v0.0.3'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout.

Žymos trynimas

Galite rasti situaciją, jei norite ištrinti tam tikrą žymą. Šiose situacijose yra labai naudinga komanda:

$ git tag --delete v0.0.2 $ git tag v0.0.1 v0.0.3 v0.0.4

Daugiau informacijos

  • „Git Pro“ - žymėjimo pagrindai
  • „Git Pro“ - dokumentacija
  • Git HowTo
  • „Git“ patarimas: žymos
  • Žymos kūrimas

Šaltiniai

„Git“ dokumentai: žymos