Git

Jak používat značky Git ke zlepšení vašich vývojových procesů

Jak používat značky Git ke zlepšení vašich vývojových procesů
Pro většinu vývojových týmů se Git stal základním nástrojem pro správu verzí. Velkým důvodem popularity Gitu je jeho bezproblémová schopnost vytvářet pobočky. Vývojové týmy mohou pomocí větví pracovat na konkrétních funkcích nebo vydáních. Značka Git je však často přehlíženým příkazem, který může týmům pomoci zjednodušit jejich pracovní postupy. V tomto článku se ponoříme do toho, co, jak a proč označovat na Gitu.

Co jsou značky Git?

Značky Git jsou ukazatele na určité revize. Jsou jako záložky. K vytváření značek můžete použít jakýkoli druh konvence. Ale většina vývojových týmů používá čísla verzí jako v1.0.1 nebo v.1.1-a1 k vytváření značek.

Vytváření značek

V Gitu existují dva typy značek:

Lehké značky

Odlehčené značky se snadno vytvářejí. Můžete jednoduše použít následující příkazový řádek:

$ git tag

Tyto značky jsou uloženy v .git složka vašeho pracovního úložiště.

Vytvořme několik lehkých značek Git:

$ git tag v1.0.1
$ git tag Release-20190401

V prvním případě jsme vytvořili značku s „v1.0.1 ”. V druhém případě jsme vytvořili značku s „Release-20190401“. Lehké značky nevracejí žádnou hodnotu. Je také důležité zdůraznit, že protože tyto dvě značky byly provedeny zády k sobě, směřují ke stejnému potvrzení.

Komentované značky

Anotované značky vám umožňují ukládat další informace. Možnost „-a“ můžete použít k vytvoření těchto značek:

$ git tag -a

Zkusme vytvořit anotovanou značku:

git tag -a v1.0.2

Zobrazí se textové okno, ve kterém můžete zadat komentář, který by měl vypadat takto:

#
# Napište zprávu pro značku:
# V1.0.2
# Řádky začínající na „#“ budou ignorovány.

Zadejte komentář a uložte jej. Takže teď vaše značka v1.0.2 je uložen s komentářem. Alternativně můžete přímo zadat komentář do příkazového řádku takto:

git tag -a v1.0.3-m "Moje verze 1.0.3 "

Hledání značek ve vašem kódu

Nyní, když jsme vytvořili několik značek, se podívejme, co máme:

$ git tag -l
Vydání-20190401
v1.0.1
v1.0.2
v1.0.3

Vidíme, že všechny naše značky jsou zobrazeny v abecedním pořadí. Další informace o značkách získáte pomocí „-n„Kde znamená počet řádků komentářů.

$ git tag -n1
Release-20190401 Aktualizováno README.md
v1.0.1 Aktualizováno README.md
v1.0.2 Moje verze 1.0.2
v1.0.3 Moje verze 1.0.3

Zde si můžete všimnout rozdílu mezi lehkými a anotovanými značkami. V tomto příkladu „Release-20190401“ a „v1.0.1 ”jsou lehké značky. „V1.0.2 “a„ v1.0.3 ”jsou komentované značky. Všechny směřují ke stejnému potvrzení (potvrzení 34671):

$ git log
spáchat 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (HEAD -> master, tag: v1.0.4)
Autor: Zak H
Datum: So 6. dubna 21:06:02 2019-0700
 
Přidána funkce 2
 
spáchat 161c6e564e79624623ed767397a98105426d0ec4
Autor: Zak H
Datum: So 6. dubna 21:05:25 2019-0700
 
Přidána funkce 1
 
spáchat 34671d824f9b9951e57f867998cb3c02a11c4805 (značka: v1.0.3, značka: v1.0.2,
značka: v1.0.1, tag: Release-20190401)
Autor: Zak H
Datum: So Apr 6 20:24:53 2019-0700
 
Aktualizováno README.md
 
spáchat afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (původ / hlavní)
Autor: Zak H
Datum: So Apr 6 20:23:55 2019-0700
 
Init

Odlehčené značky však zobrazují komentáře od samotného potvrzení, což je „Aktualizováno README.md ”, zatímco komentované tagy zobrazují jednotlivé komentáře, které k nim byly přidány během procesu vytváření tagů.

Spropitné: Pokud chcete zjistit číslo potvrzení konkrétní značky, můžete použít příkaz „git show“:

$ git show v1.0.3
značka v1.0.3
Tagger: Zak H
Datum: so 6. dubna 20:43:30 2019-0700
 
Moje verze 1.0.3
 
spáchat 34671d824f9b9951e57f867998cb3c02a11c4805 (značka: v1.0.3, značka: v1.0.2, značka:
v1.0.1, tag: Release-20190401)
Autor: Zak H
Datum: So Apr 6 20:24:53 2019-0700
 
Aktualizováno README.md
 
diff --git a / README.md b / README.md
index 9daeafb… 180cf83 100644
--- a / README.md
+++ b / PŘEČTĚTE SI.md
@@ -1 +1 @@
-test
+test2

Označování starších revizí

Můžete se také vrátit zpět a označit starší potvrzení. Podívejme se na protokoly:

$ git log - online
106e0bb (HEAD -> master, tag: v1.0.4) Přidaná funkce 2
161c6e5 Přidána funkce 1
34671d8 (značka: v1.0.3, značka: v1.0.2, značka: v1.0.1, tag: Release-20190401) Aktualizováno README.md
afe9b0c (počátek / hlavní) Poč
$

Všimli jsme si, že potvrzení 161c6e5 nemá přidruženou značku. Toto potvrzení můžeme označit takto:

$ git tag -a Release-20190402 161c6e5

Otevře se okno s komentářem. Poté, co vložíme komentář, vidíme, že máme nyní označeno potvrzení:

$ git tag -n1
Release-20190401 Aktualizováno README.md
Release-20190402 Přidána značka ke staršímu potvrzení
v1.0.1 Aktualizováno README.md
v1.0.2 Moje verze 1.0.2
v1.0.3 Moje verze 1.0.3
v1.0.4 Přidaná funkce 2

Odebírání značek

Předpokládejme, že se rozhodnete, že značky „Release-“ nechcete, protože jsou matoucí. Nejprve najdete všechny značky „Release-“:

$ git tag -l Release *
Vydání-20190401
Vydání-20190402

Nyní je můžete odstranit pomocí volby „-d“:

$ git tag -d Release-20190401
Smazaná značka „Release-20190401“ (dříve 34671d8)
$ git tag -d Release-20190402
Smazaná značka „Release-20190402“ (původně 6ee37bc)

Pokud značky znovu zkontrolujeme, měli bychom vidět pouze značky, které začínají na „v“:

$ git tag -n1
v1.0.1 Aktualizováno README.md
v1.0.2 Moje verze 1.0.2
v1.0.3 Moje verze 1.0.3
v1.0.4 Přidaná funkce 2

Přepis značek

Předpokládejme, že máme situaci, kdy „v1.0.Značka 4 ”se přidává k funkci 2:

$ git log - online
d7b18a4 (HEAD -> master) Přidána funkce 3
106e0bb (tag: v1.0.4) Přidaná funkce 2
161c6e5 Přidána funkce 1
34671d8 (značka: v1.0.3, značka: v1.0.2, značka: v1.0.1) Aktualizováno README.md
afe9b0c (počátek / hlavní) Poč

Ale chceme značku „v1.0.4 ”bude ukazovat na funkci 3. Pokud to zkusíme znovu označit, dostaneme tuto chybu:

$ git tag v1.0.4 d7b18a4
fatal: tag 'v1.0.4 'již existuje

Tento problém můžeme překonat volbou „-f“:

$ git tag -f v1.0.4 d7b18a4
Aktualizovaná značka 'v1.0.4 '(dříve 106e0bb)

Pokud znovu zkontrolujeme protokol, uvidíme, že se značka přesunula do požadovaného potvrzení:

$ git log - online
d7b18a4 (HEAD -> master, tag: v1.0.4) Přidaná funkce 3
106e0bb Přidána funkce 2
161c6e5 Přidána funkce 1
34671d8 (značka: v1.0.3, značka: v1.0.2, značka: v1.0.1) Aktualizováno README.md
afe9b0c (počátek / hlavní) Poč

Alternativně můžete také odstranit značku a znovu ji přidat k novému potvrzení.

Sdílení značek s ostatními uživateli

Když svůj kód odešlete do vzdáleného úložiště, značky Git se nezasunou automaticky. Pokud chcete své tagy sdílet s ostatními uživateli, musíte je exkluzivně odeslat.

Značky lze tlačit takto:

$ git push origin v1.0.4
Počítání objektů: 12, hotovo.
Delta komprese pomocí až 4 vláken.
Komprese objektů: 100% (4/4), hotovo.
Psaní objektů: 100% (12/12), 902 bajtů | 150.00 KiB / s, hotovo.
Celkem 12 (delta 0), znovu použito 0 (delta 0)
Komu / Uživatelé / zakh / _work / LearnGIT / git_tagging / remote / project_mayhem
* [nová značka] v1.0.4 -> v1.0.4

Nyní, pokud ostatní uživatelé naklonují vzdálené úložiště, uvidí pouze značku, která byla vložena („v1.0.4 ”v tomto případě).

Používání větví vs značek

Větve jsou užitečné pro nové funkce nebo experimentování. Obecně chcete odbočit, když je třeba provést budoucí práci a práce bude narušovat váš současný vývoj. Na druhou stranu jsou značky užitečnější jako snímky. Měli byste je použít k zapamatování si konkrétních věcí, které jste již udělali.

Závěrem

Značka Git je nedostatečně využívaná funkce, která může poskytnout skvělý způsob, jak sledovat vydání a speciální funkce. Pokud nastavíte osvědčené postupy kolem značek, pomůže vám snadno komunikovat se svým vývojovým týmem a zjednodušit vaše vývojové procesy.

Další studie:

  • https: // git-scm.com / book / en / v2 / Git-Basics-Tagging
  • https: // softwareengineering.výměna zásobníku.com / questions / 165725 / git-branching-and-tagging-best-practices
  • https: // www.atlassian.com / git / tutorials / inspection-a-repository / git-tag
  • https: // en.wikipedia.org / wiki / Software_verze
  • https: // www.techopedia.com / definition / 25977 / verze softwaru
Hry Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Hraní her na celou obrazovku nebo používání aplikací v režimu celé obrazovky bez rozptýlení vás mohou odříznout od příslušných systémových informací v...
Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...