Kaj so oznake Git?
Oznake Git so kazalci na nekatere zaveze. So kot zaznamki. Za ustvarjanje oznak lahko uporabite kakršen koli dogovor. Toda večina razvojnih skupin uporablja številke različic, kot je v1.0.1 ali v.1.1-a1 za ustvarjanje oznak.
Ustvarjanje oznak
V Gitu obstajata dve vrsti oznak:
- Lahke oznake
- Označene oznake
Lahke oznake
Lahke oznake je enostavno ustvariti. Lahko preprosto uporabite naslednjo ukazno vrstico:
oznaka $ gitTe oznake so shranjene v .git mape vašega delujočega repozitorija.
Ustvarimo nekaj lahkih oznak Git:
$ git tag v1.0.1$ git tag Release-20190401
V prvem primeru smo ustvarili oznako z »v1.0.1 ". V drugem primeru smo ustvarili oznako z “Release-20190401”. Lahke oznake ne vrnejo nobene vrednosti. Pomembno je tudi poudariti, da ker sta bili ti dve oznaki narejeni drug ob drugem, kažeta na isti prevzem.
Označene oznake
Označene oznake vam omogočajo shranjevanje več informacij. Z možnostjo “-a” lahko ustvarite te oznake:
$ git tag -aPoskusimo ustvariti označeno oznako:
git tag -a v1.0.2Odprlo se bo okno z besedilom, kjer boste vnesli komentar, ki naj bo videti takole:
## Napišite sporočilo za oznako:
# V1.0.2
# Vrstice, ki se začnejo z '#', bodo prezrte.
Vnesite komentar in ga shranite. Torej, zdaj je vaša oznaka v1.0.2 se shrani s komentarjem. Lahko pa komentar neposredno vnesete v ukazno vrstico, kot je ta:
git tag -a v1.0.3-m "Moja različica 1.0.3 "Iskanje oznak v vaši kodi
Zdaj, ko smo ustvarili nekaj oznak, poglejmo, kaj imamo:
$ git tag -lIzdaja-20190401
v1.0.1
v1.0.2
v1.0.3
Vidimo lahko, da so vse naše oznake prikazane po abecedi. Več informacij o oznakah lahko dobite z uporabo -n
Release-20190401 Posodobljeno README.md
v1.0.1 Posodobljeno README.md
v1.0.2 Moja različica 1.0.2
v1.0.3 Moja različica 1.0.3
Tu lahko opazite razliko med lahkimi in označenimi oznakami. V tem primeru sta “Release-20190401” in “v1.0.1 ”so lahke oznake. Prikaže se v1.0.2 "in" v1.0.3 "so označene oznake. Vsi kažejo na isti prevzem (prevzem 34671):
$ git logzaveži 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (HEAD -> master, tag: v1.0.4)
Avtor: Zak H
Datum: sobota, 6. april 21:06:02 2019 -0700
Dodana funkcija 2
zaveži 161c6e564e79624623ed767397a98105426d0ec4
Avtor: Zak H
Datum: sobota, 6. april 21:05:25 2019 -0700
Dodana funkcija 1
zaveži 34671d824f9b9951e57f867998cb3c02a11c4805 (oznaka: v1.0.3, oznaka: v1.0.2,
oznaka: v1.0.1, oznaka: Release-20190401)
Avtor: Zak H
Datum: sobota, 6. april 20:24:53 2019 -0700
Posodobljeno README.md
zaveži afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (izvor / glavni)
Avtor: Zak H
Datum: sobota, 6. april 20:23:55 2019 -0700
V
Vendar lahke oznake prikazujejo komentarje samega prevzema, ki je »Posodobljeno README.md «, medtem ko označene oznake prikazujejo posamezne komentarje, ki so jim bili dodani med postopkom ustvarjanja oznak.
Namig: Če želite najti številko odobritve določene oznake, lahko uporabite ukaz “git show”:
$ git show v1.0.3oznaka v1.0.3
Tagger: Zak H
Datum: sobota, 6. april 20:43:30 2019 -0700
Moja različica 1.0.3
zaveži 34671d824f9b9951e57f867998cb3c02a11c4805 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka:
v1.0.1, oznaka: Release-20190401)
Avtor: Zak H
Datum: sobota, 6. april 20:24:53 2019 -0700
Posodobljeno README.md
diff --git a / README.md b / PREBERI.md
indeks 9daeafb… 180cf83 100644
--- a / PREBERI.md
+++ b / PREBERI.md
@@ -1 +1 @@
-preskus
+test2
Označevanje starejših zapisov
Lahko se tudi vrnete nazaj in označite starejšo objavo. Poglejmo dnevnike:
$ git log --oneline106e0bb (HEAD -> master, tag: v1.0.4) Dodana funkcija 2
161c6e5 Dodana funkcija 1
34671d8 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka: v1.0.1, oznaka: Release-20190401) Posodobljeno README.md
afe9b0c (izvor / glavni) Začet
$
Opazili smo, da urejanje 161c6e5 nima povezane oznake. To objavo lahko označimo tako:
$ git tag -a Release-20190402 161c6e5Odprlo se bo okno za komentar. Ko vnesemo komentar, lahko vidimo, da imamo objavo zdaj označeno:
$ git tag -n1Release-20190401 Posodobljeno README.md
Release-20190402 Starejši objavi je dodana oznaka
v1.0.1 Posodobljeno README.md
v1.0.2 Moja različica 1.0.2
v1.0.3 Moja različica 1.0.3
v1.0.4 Dodana funkcija 2
Odstranjevanje oznak
Recimo, da se odločite, da ne želite oznak »Release-«, ker so zmedene. Najprej lahko najdete vse oznake »Release-«:
$ git tag -l Release *Sprostitev-20190401
Izdaja-20190402
Zdaj jih lahko odstranite z možnostjo “-d”:
$ git tag -d Release-20190401Izbrisana oznaka »Release-20190401« (bila je 34671d8)
$ git tag -d Release-20190402
Izbrisana oznaka »Release-20190402« (bila je 6ee37bc)
Če oznake ponovno preverimo, bi morali videti samo oznake, ki se začnejo z “v”:
$ git tag -n1v1.0.1 Posodobljeno README.md
v1.0.2 Moja različica 1.0.2
v1.0.3 Moja različica 1.0.3
v1.0.4 Dodana funkcija 2
Prepis oznak
Recimo, da imamo situacijo, ko »v1.0.4-palčna oznaka usmerja na 2. funkcijo:
$ git log --onelined7b18a4 (HEAD -> master) Dodana funkcija 3
106e0bb (oznaka: v1.0.4) Dodana funkcija 2
161c6e5 Dodana funkcija 1
34671d8 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka: v1.0.1) Posodobljen README.md
afe9b0c (izvor / glavni) Začet
Želimo pa oznako »v1.0.4 ", da kaže na funkcijo 3. Če ga poskusimo znova označiti, dobimo to napako:
$ git tag v1.0.4 d7b18a4usodno: oznaka 'v1.0.4 'že obstaja
To težavo lahko premagamo z možnostjo "-f":
$ git tag -f v1.0.4 d7b18a4Posodobljena oznaka 'v1.0.4 '(je bilo 106e0bb)
Če znova preverimo dnevnik, vidimo, da se je oznaka premaknila v želeno odobritev:
$ git log --onelined7b18a4 (HEAD -> master, tag: v1.0.4) Dodana funkcija 3
106e0bb Dodana funkcija 2
161c6e5 Dodana funkcija 1
34671d8 (oznaka: v1.0.3, oznaka: v1.0.2, oznaka: v1.0.1) Posodobljen README.md
afe9b0c (izvor / glavni) Začet
Lahko pa tudi izbrišete oznako in jo znova dodate v novo objavo.
Skupna raba oznak z drugimi uporabniki
Ko potisnete kodo v oddaljeno skladišče, se oznake Git ne potisnejo samodejno. Če želite svoje oznake deliti z drugimi uporabniki, jih morate izključno potisniti.
Oznake lahko potisnete tako:
$ git push origin v1.0.4Štetje predmetov: 12, končano.
Delta stiskanje z uporabo do 4 niti.
Stiskanje predmetov: 100% (4/4), končano.
Pisanje predmetov: 100% (12/12), 902 bajtov | 150.00 KiB / s, končano.
Skupaj 12 (delta 0), ponovno uporabljena 0 (delta 0)
V / Users / zakh / _work / LearnGIT / git_tagging / remote / project_mayhem
* [nova oznaka] v1.0.4 -> v1.0.4
Zdaj, če bodo drugi uporabniki klonirali oddaljeno repozitorij, bodo videli samo potisnjeno oznako (»v1.0.4 "v tem primeru).
Uporaba podružnic proti oznakam
Podružnice so uporabne za nove funkcije ali eksperimentiranje. Na splošno se želite razvejati, ko je treba opraviti prihodnje delo in je delo moteče za vaš trenutni razvoj. Po drugi strani pa so oznake bolj uporabne kot posnetki. Uporabljajte jih za spomin na določene stvari, ki ste jih že storili.
V zaključku
Oznaka Git je premalo izkoriščena funkcija, ki lahko nudi odličen način za spremljanje izdaj in posebnih funkcij. Če nastavite dobre prakse v zvezi z oznakami, vam lahko pomaga enostavno komunicirati z razvojno skupino in poenostaviti razvojne procese.
Nadaljni študij:
- https: // git-scm.com / book / en / v2 / Git-Basics-Tagging
- https: // softwareengineering.stackexchange.com / questions / 165725 / git-razvejanje-in-označevanje-najboljše prakse
- https: // www.atlassian.com / git / tutorials / inspecting-a-repository / git-tag
- https: // en.wikipedia.org / wiki / Software_versioning
- https: // www.techopedia.com / definition / 25977 / različice programske opreme