Mai mult
Cum pentru a eticheta o vârstă în Git?
Suntem noi la git, și vreau pentru a seta un tag la început de depozit. Producția noastră de cod este același ca la începutul depozit, dar am'am facut comite de atunci. Un tag de la început ne-ar permite să "se rostogolească înapoi" producție de la un cunoscut, stabil de stat.
Deci, cum de a adăuga o etichetă la un arbitrar, mai în vârstă, a comis-o?
866
8
Exemplu:
Unde 9fceb02` este partea de început a comite id.
Apoi, puteți împinge tag-ul folosind git push origin v1.2`.
Puteți face
git log
pentru a afișa toate comite id's la curent ramură.Există, de asemenea, un capitol bun pe tagging în Pro Git carte.
Avertisment: Acest lucru creează etichete cu data curentă (și care este valoarea ce se va afișa pe o GitHub comunicate de pagina, de exemplu). Dacă doriți ca eticheta să fie datate cu a comite data, vă rugăm să se uite la un alt răspuns](https://stackoverflow.com/a/21759466/674039).
Doar Codul
Detalii
Răspunsul de @dkinzer creează tag-uri a căror dată este data curentă (atunci când a fugit `git tag comandă), nu data a comis-o. Git ajutor pentru "etichetă" are o secțiune _"Pe Backdating Tag-uri"_ care spune:
Pagina "Cum de a Eticheta în Git" ne arată că putem extrage momentul de CAP comite prin:
Am putea extrage data de un anumit comite prin:
Cu toate acestea, în loc de a repeta comite de două ori, se pare mai ușor de a schimba doar CAPUL de la care se angajează și să-l utilizați în mod implicit în ambele comenzi:
Cel mai simplu mod de a face acest lucru este
git tag v1.0.0 f4ba1fc
cu f4ba1fc
fiind la început de hash a comite doriți să o etichetați și
v1.0.0` fiind versiunea pe care doriți să o etichetați.Folosiți comanda:
În cazul în care v1.0 este un nume de etichetă și ec32d32 este comis doriți să o etichetați
Odată terminat, puteți împinge tag-uri de:
Referință:
Git (revizuire de control): Cum pot eticheta un anumit anterioare punct de comite în GitHub?
OK, puteți face pur și simplu:
Deci, dacă doriți să adăugați tag-ul: 1.0.2 să comită
e50f795
, doar pur și simplu:De asemenea, vă adauga un mesaj la final, folosind
-m
, ceva de genul asta:După toate, aveți nevoie pentru a împinge-l la "la distanță", pentru a face asta, pur și simplu:
Dacă aveți mai multe tag-uri care nu't vreau să menționez-le unul câte unul, doar pur și simplu:
pentru a împinge toate tag-uri împreună...
De asemenea, am creat pașii din imaginea de mai jos, pentru mai multe clarificări din pașii de mai jos:
Puteți, de asemenea, dd tag-ul în Hub sau folosind instrumente, cum ar fi SourceTree, pentru a evita pașii anteriori, m-am logat la mine Bitbucket * în acest caz și de a face de acolo:
Aceasta este o întrebare veche, și răspunsurile dat deja toate lucrările, dar nu's, de asemenea, o nouă opțiune care poate fi luată în considerare.
Daca're folosind SourceTree de a gestiona arhive git, puteți să faceți clic dreapta pe orice comite și adăugați o etichetă la ea. Cu un alt mouseclick puteți trimite, de asemenea, tag-ul direct la sucursala de origine.
Pornind de la răspunsurile celorlalți, aici este un one-liner soluție care stabilește tag la data când s-a întâmplat de fapt, folosește adnotat tag-ul și nu necesită
git checkout
:unde " tag " este setat la tag dorit șir, și
comit
a comite hash.La răspuns de @Phrogz este mare, dar nu't de lucru pe Windows. Aici's cum pentru a eticheta un vechi comite cu comis's data inițială folosind Powershell:
lang-powershell git checkout 9fceb02 $env:GIT_COMMITTER_DATE = git show --format=%aD | Selectați -Prima 1 git tag v1.2 git checkout master