Što su Git oznake?
Git oznake upućuju na određene obveze. Oni su poput oznaka. Možete koristiti bilo koju vrstu konvencije za koju želite stvoriti oznake. Ali većina razvojnih timova koristi verzije brojeva poput v1.0.1 ili v.1.1-a1 za stvaranje oznaka.
Izrada oznaka
U Gitu postoje dvije vrste oznaka:
- Lagane oznake
- Označene oznake
Lagane oznake
Lagane oznake lako je stvoriti. Možete jednostavno koristiti sljedeći naredbeni redak:
$ git oznakaTe su oznake pohranjene u .git mapa vašeg radnog spremišta.
Stvorimo nekoliko laganih Git oznaka:
$ git oznaka v1.0.1$ git oznaka Izdanje-20190401
U prvom smo slučaju stvorili oznaku s „v1.0.1 ”. U drugom smo slučaju stvorili oznaku s „Release-20190401“. Lagane oznake ne vraćaju nikakvu vrijednost. Također je važno naglasiti da, jer su ove dvije oznake rađene unatrag, vode prema istom urezivanju.
Označene oznake
Označene oznake omogućuju vam pohranu više informacija. Opciju "-a" možete koristiti za stvaranje ovih oznaka:
$ git oznaka -aPokušajmo stvoriti označenu oznaku:
git oznaka -a v1.0.2Otvorit će se prozor s tekstom za unos komentara koji bi trebao izgledati ovako:
## Napišite poruku za oznaku:
# V1.0.2
# Linije koje počinju s '#' bit će zanemarene.
Unesite komentar i spremite ga. Dakle, sada vaša oznaka v1.0.2 sprema se s komentarom. Alternativno, možete izravno unijeti komentar u naredbeni redak ovako:
git oznaka -a v1.0.3-m "Moja verzija 1.0.3 "Pronalaženje oznaka u vašem kodu
Sad kad smo stvorili nekoliko oznaka, pogledajmo što imamo:
$ git oznaka -lIzdanje-20190401
v1.0.1
v1.0.2
v1.0.3
Vidimo da su sve naše oznake prikazane abecednim redom. Više informacija o oznakama možete dobiti pomoću "-n
Izdanje-20190401 Ažurirano README.doktor medicine
v1.0.1 Ažurirano README.doktor medicine
v1.0.2 Moja verzija 1.0.2
v1.0.3 Moja verzija 1.0.3
Ovdje možete primijetiti razliku između laganih i označenih oznaka. U ovom primjeru, „Izdanje-20190401“ i „v1.0.1 ”lagane su oznake. Značajka „v1.0.2 "i" v1.0.3 ”označene su oznake. Svi oni upućuju na isti predati (predati 34671):
$ git zapisnikpredati 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (HEAD -> master, tag: v1.0.4)
Autor: Zak H
Datum: subota 6. travnja 21:06:02 2019 -0700
Dodana značajka 2
predati 161c6e564e79624623ed767397a98105426d0ec4
Autor: Zak H
Datum: subota 6. travnja 21:05:25 2019 -0700
Dodana značajka 1
predaj 34671d824f9b9951e57f867998cb3c02a11c4805 (oznaka: v1.0.3, oznaka: v1.0.2,
oznaka: v1.0.1, oznaka: Izdanje-20190401)
Autor: Zak H
Datum: Sub 6. aprila 20:24:53 2019 -0700
Ažurirano README.doktor medicine
predati afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (izvor / glavni)
Autor: Zak H
Datum: subota 6. travnja 20:23:55 2019 -0700
U tome
Međutim, lagane oznake prikazuju komentare samog urezivanja koji je „Ažurirano README.md ”, dok označene oznake prikazuju pojedinačne komentare koji su im dodani tijekom postupka izrade oznaka.
Savjet: Ako želite pronaći broj urezivanja određene oznake, možete upotrijebiti naredbu "git show":
$ git show v1.0.3oznaka v1.0.3
Označivač: Zak H
Datum: subota 6. travnja 20:43:30 2019 -0700
Moja verzija 1.0.3
predavanje 34671d824f9b9951e57f867998cb3c02a11c4805 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka:
v1.0.1, oznaka: Izdanje-20190401)
Autor: Zak H
Datum: Sub 6. aprila 20:24:53 2019 -0700
Ažurirano README.doktor medicine
diff --git a / README.md b / README.doktor medicine
indeks 9daeafb ... 180cf83 100644
--- a / PROČITAJ.doktor medicine
+++ b / PROČITAJ.doktor medicine
@@ -1 +1 @@
-test
+test2
Označavanje starijih veza
Također se možete vratiti i označiti starije urezivanje. Pogledajmo zapisnike:
$ git log --oneline106e0bb (HEAD -> master, tag: v1.0.4) Dodana značajka 2
161c6e5 Dodana značajka 1
34671d8 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka: v1.0.1, oznaka: Izdanje-20190401) Ažurirano README.doktor medicine
afe9b0c (ishodište / matična datoteka) Init
$
Primjećujemo da urezivanje 161c6e5 nema pridruženu oznaku. Ovo urezivanje možemo označiti ovako:
$ git oznaka -a Izdanje-20190402 161c6e5Otvorit će se skočni prozor s komentarima. Nakon što smo stavili komentar, možemo vidjeti da je urezivanje označeno sada:
$ git oznaka -n1Izdanje-20190401 Ažurirano README.doktor medicine
Izdanje-20190402 Dodana je oznaka starijem urezivanju
v1.0.1 Ažurirano README.doktor medicine
v1.0.2 Moja verzija 1.0.2
v1.0.3 Moja verzija 1.0.3
v1.0.4 Dodana značajka 2
Uklanjanje oznaka
Pretpostavimo da odlučite da ne želite oznake „Release-“ jer zbunjuju. Prvo možete pronaći sve oznake „Release-“:
$ git tag -l Izdanje *Izdanje-20190401
Izdanje-20190402
Sada ih možete ukloniti opcijom "-d":
$ git tag -d Izdanje-20190401Izbrisana oznaka "Izdanje-20190401" (bila je 34671d8)
$ git tag -d Izdanje-20190402
Izbrisana oznaka 'Release-20190402' (bila je 6ee37bc)
Ako ponovno provjerimo oznake, trebali bismo vidjeti samo oznake koje počinju s "v":
$ git oznaka -n1v1.0.1 Ažurirano README.doktor medicine
v1.0.2 Moja verzija 1.0.2
v1.0.3 Moja verzija 1.0.3
v1.0.4 Dodana značajka 2
Prepisivanje oznaka
Pretpostavimo da imamo situaciju u kojoj „v1.0.Oznaka od 4 ”usmjerava se na Značajku 2:
$ git log --onelined7b18a4 (HEAD -> master) Dodana značajka 3
106e0bb (oznaka: v1.0.4) Dodana značajka 2
161c6e5 Dodana značajka 1
34671d8 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka: v1.0.1) Ažurirano README.doktor medicine
afe9b0c (ishodište / matična datoteka) Init
Ali želimo oznaku „v1.0.4 "kako bi bio usmjeren na Značajku 3. Ako ga pokušamo ponovo označiti, dobit ćemo ovu pogrešku:
$ git oznaka v1.0.4 d7b18a4kobno: oznaka 'v1.0.4 'već postoji
Ovaj problem možemo prevladati pomoću opcije -f:
$ git oznaka -f v1.0.4 d7b18a4Ažurirana oznaka 'v1.0.4 '(bilo 106e0bb)
Ako ponovno provjerimo zapisnik, vidimo da se oznaka premjestila na urezivanje koje želimo:
$ git log --onelined7b18a4 (GLAVA -> master, oznaka: v1.0.4) Dodana značajka 3
106e0bb Dodana značajka 2
161c6e5 Dodana značajka 1
34671d8 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka: v1.0.1) Ažurirano README.doktor medicine
afe9b0c (ishodište / matična datoteka) Init
Možete i izbrisati oznaku i dodati je novom urezivanju.
Dijeljenje oznaka s drugim korisnicima
Kada gurnete svoj kôd u svoje udaljeno spremište, Git oznake se ne guraju automatski. Ako svoje oznake želite podijeliti s drugim korisnicima, morate ih isključivo pritisnuti.
Oznake se mogu gurati ovako:
$ git push ishodište v1.0.4Brojanje predmeta: 12, gotovo.
Delta kompresija pomoću do 4 niti.
Stiskanje predmeta: 100% (4/4), gotovo.
Zapisivanje objekata: 100% (12/12), 902 bajta | 150.00 KiB / s, gotovo.
Ukupno 12 (delta 0), ponovno upotrijebljena 0 (delta 0)
U / Users / zakh / _work / LearnGIT / git_tagging / remote / project_mayhem
* [nova oznaka] v1.0.4 -> v1.0.4
Sada, ako drugi korisnici kloniraju udaljeno spremište, vidjet će samo oznaku koja je gurnuta („v1.0.4 "u ovom slučaju).
Korištenje grana u odnosu na oznake
Grane su korisne za nove značajke ili eksperimentiranje. Općenito, želite se razgranati kada postoji budući posao koji treba obaviti, a posao ometa vaš trenutni razvoj. S druge strane, oznake su korisnije kao snimke. Trebali biste ih koristiti da biste se prisjetili određenih stvari koje ste već učinili.
U zaključku
Git oznaka je premalo iskorištena značajka koja može pružiti sjajan način praćenja izdanja i posebnih značajki. Ako postavite dobre prakse oko oznaka, to vam može pomoći da lako komunicirate sa svojim razvojnim timom i pojednostavite svoje razvojne procese.
Daljni studiji:
- https: // git-scm.com / book / en / v2 / Git-Basics-Tagging
- https: // softwareengineering.razmjena slogova.com / questions / 165725 / git-grananje-i-označavanje-najbolje prakse
- https: // www.atlasa.com / git / tutoriali / inspecting-a-repository / git-tag
- https: // en.wikipedija.org / wiki / Software_versioning
- https: // www.techopedia.com / Definicija / 25977 / Izrada verzija softvera