Vad är Git-taggar?
Git-taggar är riktlinjer för vissa åtaganden. De är som bokmärken. Du kan använda vilken typ av konvention du vill skapa taggar. Men de flesta utvecklingsteam använder versionsnummer som v1.0.1 eller v.1.1-a1 för att skapa taggar.
Skapa taggar
Det finns två typer av taggar i Git:
- Lätta taggar
- Kommenterade taggar
Lätta taggar
De lätta taggarna är lätta att skapa. Du kan helt enkelt använda följande kommandorad:
$ git-taggDessa taggar lagras i .git-mappen i ditt arbetsförvar.
Låt oss skapa några lätta Git-taggar:
$ git tag v1.0.1$ git tag Release-20190401
I det första fallet skapade vi en tagg med “v1.0.1 ”. I det andra fallet skapade vi en tagg med ”Release-20190401”. De lätta taggarna returnerar inget värde. Det är också viktigt att påpeka att eftersom dessa två taggar gjordes rygg mot rygg pekar de på samma engagemang.
Kommenterade taggar
Kommenterade taggar låter dig lagra mer information. Du kan använda alternativet “-a” för att skapa dessa taggar:
$ git tag -aLåt oss försöka skapa en kommenterad tagg:
git tag -a v1.0.2Det kommer att dyka upp ett textfönster där du kan skriva in en kommentar som ska se ut så här:
## Skriv ett meddelande för taggen:
# V1.0.2
# Linjer som börjar med '#' ignoreras.
Skriv en kommentar och spara den. Så nu din tagg v1.0.2 sparas med en kommentar. Alternativt kan du ange kommentaren direkt på kommandoraden så här:
git tag -a v1.0.3-m "Min version 1.0.3 "Hitta taggar i din kod
Nu när vi har skapat några taggar, låt oss se vad vi har:
$ git tag -lSläpp-20190401
v1.0.1
v1.0.2
v1.0.3
Vi kan se att alla våra taggar visas i alfabetisk ordning. Du kan få mer information om taggarna genom att använda “-n
Release-20190401 Uppdaterat README.md
v1.0.1 Uppdaterad README.md
v1.0.2 Min version 1.0.2
v1.0.3 Min version 1.0.3
Här kan du se en skillnad mellan lätta och annoterade taggar. I det här exemplet, “Release-20190401” och “v1.0.1 ”är lätta taggar. ”V1.0.2 ”och” v1.0.3 ”är antecknade taggar. Alla pekar på samma åtagande (begå 34671):
$ git-loggbegå 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (HEAD -> master, tag: v1.0.4)
Författare: Zak H
Datum: lör 6 apr 21:06:02 2019 -0700
Tillagd funktion 2
begå 161c6e564e79624623ed767397a98105426d0ec4
Författare: Zak H
Datum: lör 6 apr 21:05:25 2019 -0700
Tillagd funktion 1
begå 34671d824f9b9951e57f867998cb3c02a11c4805 (tag: v1.0.3, tagg: v1.0.2,
tagg: v1.0.1, tagg: Release-20190401)
Författare: Zak H
Datum: lör 6 apr 20:24:53 2019 -0700
Uppdaterad README.md
begå afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (origin / master)
Författare: Zak H
Datum: lör 6 apr 20:23:55 2019 -0700
I det
De lätta taggarna visar dock kommentarerna från själva engagemanget som är “Uppdaterad README.md ”, medan de kommenterade taggarna visar de enskilda kommentarerna som lagts till dem under skapandet av taggen.
Dricks: Om du vill hitta nummeret för en viss tagg kan du använda kommandot "git show":
$ git show v1.0.3tagg v1.0.3
Tagger: Zak H
Datum: lör 6 apr 20:43:30 2019 -0700
Min version 1.0.3
begå 34671d824f9b9951e57f867998cb3c02a11c4805 (tag: v1.0.3, tagg: v1.0.2, tagg:
v1.0.1, tagg: Release-20190401)
Författare: Zak H
Datum: lör 6 apr 20:24:53 2019 -0700
Uppdaterad README.md
diff --git a / README.md b / README.md
index 9daeafb ... 180cf83 100644
--- a / README.md
+++ b / README.md
@@ -1 +1 @@
-testa
+test2
Märkning äldre åtaganden
Du kan också gå tillbaka och märka ett äldre engagemang. Låt oss titta på stockarna:
$ git log - online106e0bb (HEAD -> master, tag: v1.0.4) Tillagd funktion 2
161c6e5 Tillagd funktion 1
34671d8 (tagg: v1.0.3, tagg: v1.0.2, tagg: v1.0.1, tagg: Release-20190401) Uppdaterad README.md
afe9b0c (ursprung / master) Init
$
Vi märker att commit 161c6e5 inte har en associerad tagg. Vi kan märka detta åtagande så här:
$ git tag -a Release-20190402 161c6e5Det kommer att dyka upp i kommentarfönstret. När vi har lagt in kommentaren kan vi se att vi har tagit åtagandet nu:
$ git tag -n1Release-20190401 Uppdaterat README.md
Release-20190402 Lagt till tagg till ett äldre engagemang
v1.0.1 Uppdaterad README.md
v1.0.2 Min version 1.0.2
v1.0.3 Min version 1.0.3
v1.0.4 Tillagd funktion 2
Ta bort taggar
Antag att du bestämmer dig för att du inte vill ha taggarna ”Release-” eftersom de är förvirrande. Du hittar först alla “Släpp-” taggar:
$ git tag -l Release *Släpp-20190401
Släpp-20190402
Nu kan du ta bort dem med alternativet “-d”:
$ git tag -d Release-20190401Borttagen tagg 'Release-20190401' (var 34671d8)
$ git tag -d Release-20190402
Borttagen tagg 'Release-20190402' (var 6ee37bc)
Om vi kontrollerar taggarna igen bör vi bara se taggarna som börjar med “v”:
$ git tag -n1v1.0.1 Uppdaterad README.md
v1.0.2 Min version 1.0.2
v1.0.3 Min version 1.0.3
v1.0.4 Tillagd funktion 2
Skriva över taggar
Antag att vi har en situation där ”v1.0.4 ”-taggen kommer till funktion 2:
$ git-logg - onlined7b18a4 (HEAD -> master) Tillagd funktion 3
106e0bb (tagg: v1.0.4) Tillagd funktion 2
161c6e5 Tillagd funktion 1
34671d8 (tagg: v1.0.3, tagg: v1.0.2, tagg: v1.0.1) Uppdaterad README.md
afe9b0c (ursprung / master) Init
Men vi vill ha taggen “v1.0.4 ”för att peka på Feature 3. Om vi försöker tagga om det får vi det här felet:
$ git tag v1.0.4 d7b18a4dödlig: tag 'v1.0.4 'existerar redan
Vi kan övervinna detta problem med alternativet “-f”:
$ git tag -f v1.0.4 d7b18a4Uppdaterad tagg 'v1.0.4 '(var 106e0bb)
Om vi kontrollerar loggen igen ser vi att taggen har flyttat till det engagemang vi vill ha:
$ git log - onlined7b18a4 (HEAD -> master, tag: v1.0.4) Tillagd funktion 3
106e0bb Tillagd funktion 2
161c6e5 Tillagd funktion 1
34671d8 (tagg: v1.0.3, tagg: v1.0.2, tagg: v1.0.1) Uppdaterad README.md
afe9b0c (ursprung / master) Init
Alternativt kan du också ta bort en tagg och lägga till den igen i ett nytt engagemang.
Dela taggar med andra användare
När du trycker din kod till fjärrförvaret trycks inte Git-taggar automatiskt. Om du vill dela dina taggar med andra användare måste du bara trycka på dem.
Taggarna kan tryckas så här:
$ git push origin v1.0.4Räkna objekt: 12, färdiga.
Delta komprimering med upp till 4 trådar.
Komprimeringsföremål: 100% (4/4), klar.
Skrivobjekt: 100% (12/12), 902 byte | 150.00 KiB / s, klar.
Totalt 12 (delta 0), återanvändt 0 (delta 0)
Till / Användare / zakh / _work / LearnGIT / git_tagging / remote / project_mayhem
* [ny tagg] v1.0.4 -> v1.0.4
Om andra användare nu klonar fjärrförvaret ser de bara taggen som trycktes (“v1.0.4 ”i detta fall).
Använda filialer mot taggar
Grenar är användbara för nya funktioner eller experiment. Generellt vill du förgrena dig när det finns framtida arbete som behöver göras och arbetet stör din nuvarande utveckling. Å andra sidan är taggar mer användbara som ögonblicksbilder. Du bör använda dem för att komma ihåg vissa saker som du redan har gjort.
Sammanfattningsvis
Git-taggen är en underutnyttjad funktion som kan ge ett utmärkt sätt att hålla reda på utgivningar och specialfunktioner. Om du skapar god praxis kring taggar kan det hjälpa dig att enkelt kommunicera med ditt utvecklingsteam och förenkla dina utvecklingsprocesser.
Ytterligare studier:
- https: // git-scm.com / book / sv / v2 / Git-Basics-Tagging
- https: // programvaruteknik.stackexchange.com / frågor / 165725 / git-branching-and-tagging-best-practices
- https: // www.atlasiska.com / git / tutorials / inspecting-a-repository / git-tag
- https: // sv.wikipedia.org / wiki / Software_versioning
- https: // www.techopedia.com / definition / 25977 / programvaruversion