Etichetarea permite dezvoltatorilor să marcheze puncte de control importante pe parcursul dezvoltării proiectelor lor. De exemplu, versiunile de lansare a software-ului pot fi etichetate. (Ex: v1.3.2) În esență, vă permite să dați unui commit un nume special (tag).

Pentru a vizualiza toate etichetele create în ordine alfabetică:

git tag

Pentru a obține mai multe informații despre o etichetă:

git show v1.4

Există două tipuri de etichete:

Adnotat

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

Ușoare

git tag v1.2

Ele diferă prin modul în care sunt stocate.
Acestea creează etichete la comiterea dvs. curentă.

Incase, doriți să etichetați un commit anterior, specificați ID-ul de commit pe care doriți să îl etichetați:

git tag -a v1.2 9fceb02

Numele etichetelor pot fi folosite în locul ID-urilor de validare în timp ce verificați și împingeți validările către o repo la distanță.

Mai multe informatii:

Puteți lista toate etichetele disponibile într-un proiect cu git tag comanda (notează că vor apărea în ordine alfabetică):

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

Acest mod de listare a etichetelor este excelent pentru proiectele mici, dar proiectele mai mari pot avea sute de etichete, deci poate fi necesar să le filtrați atunci când căutați un punct important din istorie. Puteți găsi etichete care conțin caractere specifice adăugând un -l la git tag comanda:

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

Creați o etichetă

Puteți crea două tipuri de etichete: adnotate și ușoare. Primele sunt obiecte de competiție în baza de date GIT: sunt însumate, necesită un mesaj (cum ar fi confirmările) și stochează alte date importante, cum ar fi numele, adresa de e-mail și data. Pe de altă parte, etichetele ușoare nu necesită un mesaj sau stochează alte date, funcționând doar ca un indicator către un punct specific al proiectului.

Creați o etichetă adnotată

Pentru a crea o etichetă anotată, adăugați -a tagname -m "tag message" la git tag comanda:

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

După cum puteți vedea, -a specifică faptul că creați o etichetă adnotată, după ce vine numele etichetei și, în cele din urmă, -m urmat de mesajul de etichetare pentru stocare în baza de date Git.

Creați o etichetă ușoară

Etichetele ușoare conțin doar suma de verificare de confirmare (nu sunt stocate alte informații). Pentru a crea unul, pur și simplu rulați git tag comanda fără alte opțiuni (caracterele -lw de la sfârșitul numelui sunt utilizate pentru a indica etichete ușoare, dar le puteți marca după cum doriți):

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

De data aceasta nu ați specificat niciun mesaj sau alte date relevante, astfel încât eticheta conține doar suma de verificare a comiterii menționate.

Vizualizați datele etichetei

Puteți rula git show comanda pentru a vizualiza datele stocate într-o etichetă. În cazul etichetelor adnotate, veți vedea datele etichetei și datele de confirmare:

$ git show v4.0
tag v4.0
Tagger: John Cash <john@cash.com>
Date:   Mon Sat 28 15:00:25 2017 -0700

release version 4.0

commit da43a5fss745av88d47839247990022a98419093
Author: John Cash <john@cash.com>
Date:   Fri Feb 20 20:30:05 2015 -0700

  finished details

Dacă eticheta pe care o urmăriți este o etichetă ușoară, veți vedea doar datele de confirmare referite:

$ git show v1.4-lw
commit da43a5f7389adcb9201ab0a289c389ed022a910b
Author: John Cash <john@cash.com>
Date:   Fri Feb 20 20:30:05 2015 -0700

  finished details

Etichetarea comitetelor vechi

De asemenea, puteți eticheta comitetele anterioare utilizând comitetul pentru etichetele git. Pentru a face acest lucru, va trebui să specificați suma de control a comiterii (sau cel puțin o parte din aceasta) în linia de comandă.

Mai întâi, rulați git log pentru a afla suma de verificare a comiterii necesare:

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

Când aveți suma de verificare necesară, adăugați-o la sfârșitul liniei de creare a etichetei:

$ git tag -a v3.5 a029ac

Veți vedea că eticheta a fost adăugată corect rulând git tag:

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

Apasă pe etichete

Git nu împinge etichete în mod implicit atunci când executați comanda git push. Deci, pentru a împinge cu succes o etichetă pe un server, va trebui să o faceți git push origin comanda:

$ 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 git@github.com:jcash/gitmanual.git
 * [new tag]         v4.0 -> v4.0

Puteți utiliza, de asemenea, --tags opțiunea de a adăuga mai multe etichete simultan cu ajutorul git push origin comanda:

$ 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 git@github.com:jcash/gitmanual.git
 * [new tag]         v4.0 -> v4.0
 * [new tag]         v4.1-lw -> v4.1-lw

Verificarea etichetelor

Poți să folosești git checkout pentru a achita o etichetă așa cum ați face în mod normal. Dar trebuie să rețineți că acest lucru ar rezulta a cap detasat stat.

$ 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.

Ștergerea unei etichete

Este posibil să găsiți o situație în care doriți să ștergeți o anumită etichetă. Există o comandă foarte utilă pentru aceste situații:

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

Mai multe informatii

Surse

Documentație Git: Etichete