Wichtige Meilensteine markieren

GitBeginner
Jetzt üben

Einführung

Willkommen, Git-Entdecker! Heute tauchen wir in eine der nützlichsten Funktionen von Git ein, um bedeutende Zeitpunkte in Ihrer Projekthistorie zu markieren: Tags. Wenn Sie sich schon einmal gewünscht haben, wichtige Meilensteine wie Release-Versionen einfach zu kennzeichnen und später dorthin zurückzukehren, dann sind Git-Tags genau das Richtige für Sie.

Tags in Git fungieren wie Wegweiser auf der Zeitachse Ihres Projekts. Sie ermöglichen es Ihnen, spezifische Punkte in der Historie Ihres Repositorys als wichtig zu markieren. Dies ist besonders hilfreich für die Kennzeichnung von Veröffentlichungspunkten (v1.0, v2.0 usw.) oder anderen signifikanten Meilensteinen in Ihrer Entwicklung.

In diesem Lab behandeln wir folgende Themen:

  1. Erstellen von Lightweight-Tags: Schnelle und einfache Markierungen
  2. Erstellen von annotierten Tags: Detailliertere, vollständige Objekte in der Git-Datenbank
  3. Auflisten von Tags: So behalten Sie den Überblick über alle Tags im Repository
  4. Auschecken von Tags: So betrachten Sie Ihr Projekt an einem bestimmten markierten Punkt
  5. Löschen von Tags: So entfernen Sie Markierungen, die nicht mehr benötigt werden

Am Ende dieses Labs werden Sie sicher im Erstellen, Verwalten und Verwenden von Tags in Ihren Git-Projekten sein. Dies gibt Ihnen ein mächtiges Werkzeug an die Hand, um Ihre Projekthistorie zu organisieren und wichtige Punkte in Ihrem Entwicklungsprozess einfach zu referenzieren.

Legen wir los und beginnen unsere Reise in die Welt der Git-Tags!

Einrichten Ihres Arbeitsbereichs

Bevor wir mit dem Tagging beginnen, richten wir einen Arbeitsbereich mit einigen Commits ein, die wir markieren können. Wir erstellen ein neues Verzeichnis, initialisieren ein Git-Repository und fügen einige Dateien mit mehreren Commits hinzu, um die Entwicklung eines Projekts zu simulieren.

Öffnen Sie Ihr Terminal und geben Sie diese Befehle ein:

cd ~/project
mkdir git-tags-lab
cd git-tags-lab
git init

Lassen Sie uns nun einige Dateien erstellen und eine Reihe von Commits durchführen. Sie können die folgenden Befehle kopieren und einfügen:

echo "## My Awesome Project" > README.md
git add README.md
git commit -m "Initial commit"

echo "function greet(name) { console.log('Hello, ' + name + '!'); }" > app.js
git add app.js
git commit -m "Add greeting function"

echo "const PI = 3.14159;" >> app.js
git add app.js
git commit -m "Add PI constant"

echo "function calculateArea(radius) { return PI * radius * radius; }" >> app.js
git add app.js
git commit -m "Add area calculation function"

Hier ist eine Zusammenfassung dessen, was wir gerade getan haben:

  1. Wir haben eine README-Datei erstellt und unseren ersten Commit gemacht.
  2. Wir haben eine JavaScript-Datei mit einer Begrüßungsfunktion erstellt und committet.
  3. Wir haben eine PI-Konstante zur gleichen Datei hinzugefügt und committet.
  4. Schließlich haben wir eine Funktion zur Flächenberechnung hinzugefügt und committet.

Jetzt haben wir ein Repository mit einer Historie, die wir taggen können!

Erstellen von Lightweight-Tags

Beginnen wir mit der Erstellung eines Lightweight-Tags. Lightweight-Tags sind im Grunde nur ein Zeiger auf einen bestimmten Commit – stellen Sie sie sich wie einen Branch vor, der sich nicht verändert. Sie sind einfach zu erstellen und zu verwenden, was sie perfekt für den temporären oder persönlichen Gebrauch macht.

Um ein Lightweight-Tag zu erstellen, verwenden Sie den Befehl git tag gefolgt vom Tag-Namen:

git tag v0.1

Dies erstellt ein Tag namens v0.1, das auf den aktuellen Commit (HEAD) zeigt.

Sie können auch ein Lightweight-Tag für einen vergangenen Commit erstellen, indem Sie den Commit-Hash angeben:

git log --oneline
8197680 (HEAD -> master, tag: v0.1) Add area calculation function
d93ae1c Add PI constant
7411f09 Add greeting function
35d7df5 Initial commit

Dies zeigt Ihnen eine Liste Ihrer Commits an. Kopieren Sie den Hash des Commits "Add greeting function", der in diesem Fall 7411f09 lautet (verwenden Sie den tatsächlichen Hash aus Ihrer Ausgabe).

Drücken Sie q, um die Log-Ansicht zu verlassen, und erstellen Sie dann ein Tag für diesen Commit:

git tag v0.0.1 <commit-hash>

Ersetzen Sie <commit-hash> durch den tatsächlichen Hash, den Sie gefunden haben.

git tag
v0.0.1
v0.1

Lightweight-Tags eignen sich hervorragend für temporäre Markierungen oder den Eigenbedarf. Sie speichern jedoch keine zusätzlichen Informationen. Für robustere Markierungen, insbesondere für öffentliche Releases, sollten Sie annotierte Tags verwenden, die wir als Nächstes behandeln.

Erstellen von annotierten Tags

Annotierte Tags werden als vollständige Objekte in der Git-Datenbank gespeichert. Sie enthalten den Namen des Taggers, die E-Mail-Adresse, das Datum und eine Tag-Nachricht. Sie können zudem mit GNU Privacy Guard (GPG) signiert und verifiziert werden. Dies macht sie ideal für öffentliche Releases und für alle Tags, denen Sie zusätzliche Informationen beifügen möchten.

Um ein annotiertes Tag zu erstellen, verwenden Sie das Flag -a mit git tag:

git tag -a v1.0 -m "First major release"

Dies erstellt ein annotiertes Tag namens v1.0 mit der Nachricht "First major release".

Sie können die Details eines annotierten Tags mit dem Befehl git show einsehen:

git show v1.0

Dies zeigt die Tagger-Informationen, das Datum der Tag-Erstellung, die Annotationsnachricht sowie die Commit-Informationen an.

Annotierte Tags werden für öffentliche Veröffentlichungen empfohlen, da sie wesentlich mehr Informationen enthalten und verifizierbar sind. Sie sind eine Art zu sagen: "Dieser Punkt in der Geschichte ist wichtig, und hier ist der Grund dafür."

Auflisten von Tags

Wenn Ihr Projekt wächst, können sich im Laufe der Zeit viele Tags ansammeln. Git bietet einfache Möglichkeiten, Ihre Tags aufzulisten und zu durchsuchen.

Um alle Tags in Ihrem Repository aufzulisten:

git tag

Dies zeigt alle Ihre Tags in alphabetischer Reihenfolge an.

Wenn Sie nach Tags suchen möchten, die einem bestimmten Muster entsprechen, können Sie die Option -l (oder --list) mit einem Platzhalter verwenden:

git tag -l "v1.*"

Dies listet alle Tags auf, die mit "v1." beginnen.

Für detailliertere Informationen zu Ihren Tags, einschließlich der Annotationsnachrichten bei annotierten Tags, können Sie folgenden Befehl verwenden:

git tag -n

Dies listet Ihre Tags zusammen mit der ersten Zeile ihrer Annotationsnachricht (oder der Commit-Nachricht bei Lightweight-Tags) auf.

Denken Sie daran, dass Tags nicht automatisch an Remote-Repositorys übertragen werden. Wenn Sie Ihre Tags teilen möchten, müssen Sie diese explizit pushen, was wir in einem zukünftigen Lab behandeln werden.

Auschecken von Tags

Eine der nützlichsten Funktionen von Tags ist die Möglichkeit, Ihr Projekt ganz einfach im Zustand eines bestimmten Tags zu betrachten. Dies ist ideal, um beispielsweise Fehler aus einer bestimmten Version zu reproduzieren oder den exakten Code zu überprüfen, der in ein Release eingeflossen ist.

Um ein Tag auszuchecken, verwenden Sie den Befehl git checkout:

git checkout v1.0

Dies versetzt Ihr Repository in einen "detached HEAD"-Zustand an dem Commit, auf den v1.0 zeigt. Das bedeutet, Sie können sich umsehen, experimentelle Änderungen vornehmen und diese committen. Alle Commits, die Sie in diesem Zustand machen, können verworfen werden, ohne Ihre bestehenden Branches zu beeinflussen.

Wenn Sie Änderungen vornehmen und einen neuen Branch erstellen möchten, um diese Änderungen dauerhaft zu behalten, verwenden Sie:

git checkout -b branch-name v1.0

Dies erstellt einen neuen Branch namens branch-name basierend auf dem Zustand Ihres Projekts zum Zeitpunkt des Tags v1.0.

Denken Sie daran: Wenn Sie die Betrachtung des Codes bei einem bestimmten Tag abgeschlossen haben, können Sie mit folgendem Befehl zum neuesten Zustand Ihres Haupt-Branches zurückkehren:

git checkout master

Seien Sie vorsichtig im "detached HEAD"-Zustand. Alle Commits, die Sie dort machen, werden "verwaist" (sie gehören zu keinem Branch), sobald Sie zu einem anderen Branch wechseln, es sei denn, Sie erstellen explizit einen neuen Branch, um sie zu sichern.

Löschen von Tags

Manchmal müssen Sie ein Tag löschen. Vielleicht wurde es versehentlich erstellt oder ist nicht mehr relevant. Git macht das Entfernen von Tags einfach.

Um ein Tag in Ihrem lokalen Repository zu löschen, verwenden Sie:

git tag -d v0.0.1

Dies entfernt das Tag v0.0.1 aus Ihrem lokalen Repository.

Gehen Sie beim Löschen von Tags vorsichtig vor. Andere Benutzer könnten diese Tags als Referenzpunkte verwenden. Es ist generell eine gute Praxis, sich mit Ihrem Team abzustimmen, bevor Sie gemeinsam genutzte Tags löschen.

Zusammenfassung

Herzlichen Glückwunsch, Git-Tagger! Sie haben soeben die Kunst der Verwendung von Tags in Git gemeistert. Lassen Sie uns die wichtigsten Konzepte rekapitulieren:

  1. Erstellen von Lightweight-Tags: Schnelle und einfache Markierungen für den temporären oder persönlichen Gebrauch.
  2. Erstellen von annotierten Tags: Detailliertere Tags mit zusätzlichen Metadaten, perfekt für die Kennzeichnung bedeutender Meilensteine wie Releases.
  3. Auflisten von Tags: So zeigen Sie die Tags Ihres Repositorys an und durchsuchen sie.
  4. Auschecken von Tags: So betrachten Sie Ihr Projekt im Zustand eines spezifischen Tags.
  5. Löschen von Tags: So entfernen Sie Markierungen, wenn sie nicht mehr benötigt werden.

Tags sind eine leistungsstarke Funktion in Git, die es Ihnen ermöglicht, wichtige Punkte in Ihrer Projekthistorie festzuhalten. Sie sind besonders wertvoll für die Kennzeichnung von Release-Zeitpunkten und anderen signifikanten Meilensteinen.

Beachten Sie:

  • Verwenden Sie Lightweight-Tags für temporäre oder persönliche Referenzpunkte.
  • Verwenden Sie annotierte Tags für öffentliche Releases und wenn Sie zusätzliche Informationen im Tag speichern möchten.
  • Seien Sie vorsichtig im "detached HEAD"-Zustand, nachdem Sie ein Tag ausgecheckt haben.
  • Gehen Sie behutsam beim Löschen von Tags vor, insbesondere wenn diese bereits in ein gemeinsames Repository gepusht wurden.

Auf Ihrem weiteren Weg mit Git werden Sie feststellen, dass Tags ein unschätzbares Werkzeug zur Verwaltung Ihrer Projekt-Zeitachse sind. Sie bieten klare Referenzpunkte, die Ihnen und Ihrem Team helfen, sich mühelos in der Projekthistorie zurechtzufinden.

Viel Erfolg beim Taggen, und mögen Ihre Projekt-Meilensteine immer klar markiert sein!