Git

Kako koristiti Git oznake za poboljšanje razvojnih procesa

Kako koristiti Git oznake za poboljšanje razvojnih procesa
Za većinu razvojnih timova Git je postao osnovni alat za kontrolu verzija. Veliki razlog popularnosti Gita je njegova neprimjetna sposobnost stvaranja grana. Razvojni timovi mogu koristiti grane za rad na određenim značajkama ili izdanjima. Međutim, Gitova oznaka je često zanemarena naredba koja može pomoći timovima da pojednostave svoj tijek rada. U ovom ćemo članku zaroniti u Git označavanje što, kako i zašto.

Š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

Lagane oznake lako je stvoriti. Možete jednostavno koristiti sljedeći naredbeni redak:

$ git oznaka

Te 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 -a

Pokušajmo stvoriti označenu oznaku:

git oznaka -a v1.0.2

Otvorit ć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 -l
Izdanje-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" gdje označava broj redaka komentara.

$ git oznaka -n1
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 zapisnik
predati 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.3
oznaka 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 --oneline
106e0bb (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 161c6e5

Otvorit će se skočni prozor s komentarima. Nakon što smo stavili komentar, možemo vidjeti da je urezivanje označeno sada:

$ git oznaka -n1
Izdanje-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-20190401
Izbrisana 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 -n1
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

Prepisivanje oznaka

Pretpostavimo da imamo situaciju u kojoj „v1.0.Oznaka od 4 ”usmjerava se na Značajku 2:

$ git log --oneline
d7b18a4 (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 d7b18a4
kobno: oznaka 'v1.0.4 'već postoji

Ovaj problem možemo prevladati pomoću opcije -f:

$ git oznaka -f v1.0.4 d7b18a4
Ažurirana oznaka 'v1.0.4 '(bilo 106e0bb)

Ako ponovno provjerimo zapisnik, vidimo da se oznaka premjestila na urezivanje koje želimo:

$ git log --oneline
d7b18a4 (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.4
Brojanje 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
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...
SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...
Vodič za bitku za Wesnoth
Bitka za Wesnoth jedna je od najpopularnijih strateških igara otvorenog koda koje trenutno možete igrati. Ne samo da se ova igra razvija već jako dugo...