So verwenden Sie GIT -Tags, um Ihre Entwicklungsprozesse zu verbessern

So verwenden Sie GIT -Tags, um Ihre Entwicklungsprozesse zu verbessern
Für die meisten Entwicklungsteams ist Git zu einem wesentlichen Tool für die Versionskontrolle geworden. Ein großer Grund für die Popularität von Git ist die nahtlose Fähigkeit, Zweige zu schaffen. Entwicklungsteams können Filialen verwenden, um an bestimmten Funktionen oder Veröffentlichungen zu arbeiten. Gits Tag ist jedoch ein oft übersehener Befehl, mit dem Teams ihre Workflows vereinfachen können. In diesem Artikel werden wir uns mit dem von Git Tagging und What's Whit, WHO und WARUM eintauchen.

Was sind Git -Tags?

Git -Tags sind Hinweise auf bestimmte Commits. Sie sind wie Lesezeichen. Sie können jede Art von Konvention verwenden, die Sie erstellen möchten, Tags. Aber die meisten Entwicklungsteams verwenden Versionsnummern wie V1.0.1 oder v.1.1-A1, um Tags zu erstellen.

Tags erstellen

Es gibt zwei Arten von Tags in Git:

  • Leichte Tags
  • Annotierte Tags

Leichte Tags

Die leichten Tags sind leicht zu erstellen. Sie können einfach die folgende Befehlszeile verwenden:

$ git tag

Diese Tags werden in der gespeichert .Git -Ordner Ihres Arbeitsrepositorys.

Erstellen wir ein paar leichte Git -Tags:

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

Im ersten Fall haben wir ein Tag mit „V1) erstellt.0.1 ”. Im zweiten Fall haben wir ein Tag mit "Release-20190401" erstellt. Die leichten Tags geben keinen Wert zurück. Es ist auch wichtig darauf hinzuweisen, dass diese beiden Tags, die von Rücken an Rücken durchgeführt wurden, auf das gleiche Commit hinweisen.

Annotierte Tags

Mit Anmerkungen mit Tags können Sie weitere Informationen speichern. Sie können die Option "-a" verwenden, um diese Tags zu erstellen:

$ git tag -a

Versuchen wir, ein kommentiertes Tag zu erstellen:

Git Tag -a v1.0.2

Es wird ein Textfenster eröffnen, in dem Sie einen Kommentar eingeben können, der so aussehen sollte:

#
# Schreiben Sie eine Nachricht für Tag:
# v1.0.2
# Zeilen beginnen mit '#' werden ignoriert.

Geben Sie einen Kommentar ein und speichern Sie ihn. Also jetzt dein Tag v1.0.2 wird mit einem Kommentar gespeichert. Alternativ können Sie den Kommentar in der Befehlszeile wie folgt direkt eingeben:

Git Tag -a v1.0.3 -m "meine Version 1.0.3"

Finden Sie Tags in Ihrem Code

Nachdem wir ein paar Tags erstellt haben, lassen Sie uns sehen, was wir haben:

$ git tag -l
Release-20190401
v1.0.1
v1.0.2
v1.0.3

Wir können sehen, dass alle unsere Tags in alphabetischer Reihenfolge angezeigt werden. Sie können weitere Informationen über die Tags erhalten, indem Sie die "-n" verwenden, wo die Anzahl der Zeilen der Kommentare steht.

$ git tag -n1
Release-20190401 Aktualisiertes Readme.md
v1.0.1 Aktualisierte Readme.md
v1.0.2 meine Version 1.0.2
v1.0.3 meine Version 1.0.3

Hier können Sie einen Unterschied zwischen leichten und kommentierten Tags bemerken. In diesem Beispiel "Release-20190401" und "V1".0.1 ”sind leichte Tags. Das „v1.0.2 ”und„ v1.0.3 ”sind kommentierte Tags. Alle von ihnen zeigen auf das gleiche Commit (Commit 34671):

$ git log
Commit 106E0BB02A58EC3E818E9ACDF3BB19A9247A0E84 (Kopf -> Master, Tag: v1.0.4)
Autor: Zak H
Datum: Sa 6. April 21:06:02 2019 -0700
Feature 2 hinzugefügt
Commit 161C6e564e79624623ed767397a98105426d0ec4
Autor: Zak H
Datum: Sa 6. April 21:05:25 2019 -0700
Feature 1 hinzugefügt
Commit 34671D824F9B9951E57F867998CB3C02A11C4805 (Tag: V1.0.3, Tag: v1.0.2,
Tag: v1.0.1, Tag: Release-20190401)
Autor: Zak H
Datum: Sa 6. April 20:24:53 2019 -0700
Aktualisiert Readme.md
Commit AFE9B0C7C9FBCE3C3D585AFE67358A5EEC226E2C (Origin/Master)
Autor: Zak H
Datum: Sa 6. April 20:23:55 2019 -0700
Drin

Die leichten Tags zeigen jedoch die Kommentare des Commit selbst, die „aktualisiertes Readme“ sind.MD “, während die kommentierten Tags die einzelnen Kommentare zeigen, die ihnen während des Tagers erstellen,.

Spitze: Wenn Sie die Commit -Anzahl eines bestimmten Tags finden möchten, können Sie den Befehl „Git Show“ verwenden:

$ git show v1.0.3
Tag v1.0.3
Tagger: Zak H
Datum: Sa 6. April 20:43:30 2019 -0700
Meine Version 1.0.3
Commit 34671D824F9B9951E57F867998CB3C02A11C4805 (Tag: V1.0.3, Tag: v1.0.2, Tag:
v1.0.1, Tag: Release-20190401)
Autor: Zak H
Datum: Sa 6. April 20:24:53 2019 -0700
Aktualisiert Readme.md
diff -git a/readme.MD b/Readme.md
INDEX 9DAEFB… 180CF83 100644
--- a/readme.md
+++ B/Readme.md
@@ -1 +1 @@
-prüfen
+Test2

Ältere Commits markieren

Sie können auch zurückgehen und ein älteres Commit markieren. Schauen wir uns die Protokolle an:

$ Git -Protokoll -Einmal
106E0BB (Kopf -> Master, Tag: v1.0.4) Feature 2 hinzugefügt 2
161c6e5 hinzugefügt Feature 1
34671d8 (Tag: v1.0.3, Tag: v1.0.2, Tag: v1.0.1, Tag: Release-20190401) Aktualisierte Readme.md
AFE9B0C (Origin/Master) init
$

Wir bemerken, dass das Commit 161C6E5 kein zugehöriges Tag hat. Wir können dieses Commit so markieren:

$ git tag -a release -20190402 161c6e5

Es wird das Kommentarfenster eröffnen. Nachdem wir den Kommentar abgegeben haben, können wir sehen, dass wir jetzt das Commit mit Tagged haben:

$ git tag -n1
Release-20190401 Aktualisiertes Readme.md
Release-20190402 einem älteren Commit hinzugefügt
v1.0.1 Aktualisierte Readme.md
v1.0.2 meine Version 1.0.2
v1.0.3 meine Version 1.0.3
v1.0.4 Feature 2 hinzugefügt 2

Tags entfernen

Nehmen wir an, Sie entscheiden, dass Sie nicht die „Release-“ -Tags wollen, da sie verwirrend sind. Sie können zuerst alle „Release-“ -Tags finden:

$ git tag -l release*
Release-20190401
Release-20190402

Jetzt können Sie sie mit der Option "-d" entfernen:

$ git tag -d release -20190401
Löschter Tag 'Release-20190401' (war 34671d8)
$ git tag -d release -20190402
Löschter Tag 'Release-20190402' (war 6ee37BC)

Wenn wir die Tags erneut überprüfen, sollten wir nur die Tags sehen, die mit „V“ beginnen:

$ git tag -n1
v1.0.1 Aktualisierte Readme.md
v1.0.2 meine Version 1.0.2
v1.0.3 meine Version 1.0.3
v1.0.4 Feature 2 hinzugefügt 2

Überschreiben von Tags

Angenommen, wir haben eine Situation, in der „v1.0.4 ”-Tag ist podern, um 2 zu sehen:

$ Git -Protokoll -Einmal
D7B18A4 (Kopf -> Master) Feature 3 hinzugefügt 3
106E0BB (Tag: v1.0.4) Feature 2 hinzugefügt 2
161c6e5 hinzugefügt Feature 1
34671d8 (Tag: v1.0.3, Tag: v1.0.2, Tag: v1.0.1) Aktualisierte Readme.md
AFE9B0C (Origin/Master) init

Aber wir wollen das Tag „v1.0.4 ”, um auf Feature 3 zu zeigen. Wenn wir versuchen, es auszusetzen, erhalten wir diesen Fehler:

$ git tag v1.0.4 D7B18A4
Fatal: Tag 'v1.0.4 'existiert bereits

Wir können dieses Problem mit der Option "-f" überwinden:

$ git tag -f v1.0.4 D7B18A4
Aktualisiert Tag 'v1.0.4 '(war 106E0BB)

Wenn wir das Protokoll erneut überprüfen, sehen wir, dass das Tag zu dem gewünschten Commit wechselte:

$ Git -Protokoll -Einmal
D7B18A4 (Kopf -> Master, Tag: v1.0.4) Feature 3 hinzugefügt 3
106E0BB Feature 2 hinzugefügt 2
161c6e5 hinzugefügt Feature 1
34671d8 (Tag: v1.0.3, Tag: v1.0.2, Tag: v1.0.1) Aktualisierte Readme.md
AFE9B0C (Origin/Master) init

Alternativ können Sie auch ein Tag löschen und es einem neuen Commit wiedergeben.

Teilen Sie Tags mit anderen Benutzern

Wenn Sie Ihren Code in Ihr Remote -Repository drücken, werden Git -Tags nicht automatisch gedrückt. Wenn Sie Ihre Tags mit anderen Benutzern teilen möchten, müssen Sie sie ausschließlich weitergeben.

Die Tags können so gedrückt werden:

$ Git Push Origin V1.0.4
Zählen von Objekten: 12, erledigt.
Delta -Komprimierung mit bis zu 4 Fäden.
Komprimierungsobjekte: 100% (4/4), fertiggestellt.
Schreibobjekte: 100% (12/12), 902 Bytes | 150.00 kib/s, fertig.
Gesamt 12 (Delta 0), wiederverwendet 0 (Delta 0)
An/user/zakh/_work/lerngit/git_tagging/remote/project_mayhem
* [neues Tag] v1.0.4 -> v1.0.4

Wenn andere Benutzer das Remote -Repository klonen, werden sie nur das getriebene Tag sehen („V1).0.4 ”in diesem Fall).

Verwenden von Zweigen gegen Tags

Zweige sind nützlich für neue Funktionen oder Experimentieren. Im Allgemeinen möchten Sie verzweigen, wenn zukünftige Arbeiten erledigt werden müssen, und die Arbeit ist für Ihre aktuelle Entwicklung stört. Andererseits sind Tags als Schnappschüsse nützlicher. Sie sollten sie verwenden, um sich an bestimmte Dinge zu erinnern, die Sie bereits getan haben.

Abschließend

Git-Tag ist eine untergebrauchte Funktion, die eine großartige Möglichkeit bietet, Veröffentlichungen und Besonderheiten im Auge zu behalten. Wenn Sie gute Praktiken rund um Tags einrichten, können Sie einfach mit Ihrem Entwicklungsteam kommunizieren und Ihre Entwicklungsprozesse vereinfachen.

Weiteres Studium:

  • https: // git-scm.com/book/en/v2/git-basics-tagging
  • https: // SoftwareEngineering.Stackkexchange.com/Fragen/165725/Git-Branching-und-Tagging-Best-Practices
  • https: // www.Atlassian.com/git/tutorials/inspecting-a-repository/git-Tag
  • https: // en.Wikipedia.org/wiki/software_versioning
  • https: // www.Techopädie.com/Definition/25977/Softwareverssionierung