Einführung
In diesem Lab lernen Sie, wie Sie feststellen können, ob ein Git-Tag (Git-Markierung) annotiert oder einfach (lightweight) ist. Wir werden zwei Methoden untersuchen: die Verwendung des Befehls git show, um die Tag-Details zu prüfen, und des Befehls git cat-file, um direkt den Typ des Tag-Objekts zu untersuchen. Am Ende dieses Labs verstehen Sie die Eigenschaften jeder Tag-Art und wie Sie sie mit grundlegenden Git-Befehlen überprüfen können.
Führen Sie 'git show' aus, um den Tag-Typ zu prüfen
In diesem Schritt lernen wir, wie wir den Befehl git show verwenden können, um einen Tag (Markierung) zu untersuchen und seinen Typ zu bestimmen. Git unterstützt zwei Haupttypen von Tags: einfache (lightweight) und annotierte Tags. Das Verständnis des Unterschieds ist wichtig für die effektive Verwaltung der Projektgeschichte.
Zunächst stellen wir sicher, dass wir uns in unserem Projektverzeichnis befinden. Öffnen Sie Ihr Terminal und navigieren Sie zum Verzeichnis my-time-machine:
cd ~/project/my-time-machine
Jetzt erstellen wir einen annotierten Tag. 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 werden im Allgemeinen für Releases empfohlen.
git tag -a v1.0 -m "Release version 1.0"
Dieser Befehl erstellt einen annotierten Tag namens v1.0 mit der Nachricht "Release version 1.0".
Als Nächstes verwenden wir git show, um die Details dieses Tags anzuzeigen:
git show v1.0
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
tag v1.0
Tagger: Jane Doe <jane.doe@example.com>
Date: Mon Aug 7 10:00:00 2023 +0000
Release version 1.0
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
Author: Jane Doe <jane.doe@example.com>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
Beachten Sie die Zeile "tag v1.0" und die Tagger-Informationen. Dies zeigt an, dass v1.0 ein annotierter Tag ist. Die Ausgabe zeigt auch den Commit an, auf den der Tag zeigt.
Das Verständnis des Unterschieds zwischen den Tag-Typen ist von entscheidender Bedeutung. Annotierte Tags liefern mehr Informationen und sind kryptografisch signiert, was sie sicherer für die Markierung wichtiger Punkte wie Releases macht. Einfache (lightweight) Tags, die wir später untersuchen werden, sind einfach Zeiger auf einen bestimmten Commit.
Verwenden Sie 'git cat-file' zur Überprüfung
Im vorherigen Schritt haben wir git show verwendet, um die Details unseres annotierten Tags anzuzeigen. Jetzt verwenden wir einen grundlegenderen Git-Befehl, git cat-file, um direkt das Git-Objekt zu untersuchen, auf das der Tag v1.0 zeigt. Dieser Befehl ist nützlich, um die internen Funktionsweisen von Git zu verstehen.
Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine befinden.
Der Befehl git cat-file kann mit verschiedenen Optionen verwendet werden, um den Typ, die Größe oder den Inhalt eines Git-Objekts anzuzeigen. Um den Typ des Objekts zu sehen, auf das v1.0 verweist, verwenden wir die Option -t:
git cat-file -t v1.0
Sie sollten die folgende Ausgabe sehen:
tag
Diese Ausgabe bestätigt, dass v1.0 tatsächlich ein "tag"-Objekt ist, was der Typ für annotierte Tags in Git ist. Dies unterscheidet sich von einem "commit"-Objekt, auf das ein einfacher (lightweight) Tag direkt verweisen würde.
Jetzt lassen wir uns den Inhalt des Tag-Objekts mit der Option -p (pretty-print) anzeigen:
git cat-file -p v1.0
Dies zeigt Ihnen den Rohinhalt des Tag-Objekts, der Informationen über den Commit, den es markiert, den Tagger und die Tag-Nachricht enthält:
object a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
type commit
tag v1.0
tagger Jane Doe <jane.doe@example.com> 1691398800 +0000
Release version 1.0
Die Zeile object zeigt den Commit-Hash an, auf den der Tag zeigt. Die Zeile type commit bestätigt, dass das markierte Objekt ein Commit ist. Der Rest der Ausgabe zeigt die Tagger-Informationen und die Tag-Nachricht.
Die Verwendung von git cat-file gibt Ihnen einen tieferen Einblick in die Art und Weise, wie Git Informationen speichert. Während git show eine benutzerfreundliche Zusammenfassung bietet, ermöglicht es Ihnen git cat-file, die Roh-Git-Objekte zu untersuchen, was für die Fehlersuche oder fortgeschrittene Git-Nutzung sehr hilfreich sein kann.
Testen Sie leichte Tags
In den vorherigen Schritten haben wir mit einem annotierten Tag gearbeitet. Jetzt wollen wir uns einfache (lightweight) Tags näher ansehen. Ein einfacher Tag ist im Wesentlichen nur ein Zeiger auf einen bestimmten Commit. Es ist wie eine Branch (Zweig), die sich nicht bewegt. Sie werden typischerweise für temporäre oder private Tags verwendet.
Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine befinden.
Um einen einfachen Tag zu erstellen, verwenden Sie einfach den Befehl git tag ohne die Optionen -a oder -m:
git tag experimental
Dieser Befehl erstellt einen einfachen Tag namens experimental, der auf den aktuellen Commit zeigt (den gleichen Commit, auf den v1.0 zeigt).
Jetzt verwenden wir git show, um die Details dieses einfachen Tags anzuzeigen:
git show experimental
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
Author: Jane Doe <jane.doe@example.com>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
Beachten Sie, dass die Ausgabe von git show experimental sich von der von git show v1.0 unterscheidet. Es gibt keine Zeile "tag experimental", keine Tagger-Informationen und keine Tag-Nachricht. git show zeigt direkt den Commit an, auf den der einfache Tag zeigt.
Um weiter zu bestätigen, dass experimental ein einfacher Tag ist, verwenden wir git cat-file -t:
git cat-file -t experimental
Diesmal sollte die Ausgabe lauten:
commit
Dies bestätigt, dass der experimental-Tag direkt auf ein "commit"-Objekt verweist, im Gegensatz zum annotierten Tag v1.0, der auf ein "tag"-Objekt verwies.
Einfache Tags sind nützlich für schnelle, temporäre Markierungen in Ihrem Repository. Beispielsweise können Sie sie verwenden, um einen bestimmten Commit zu markieren, auf den Sie später einfach zugreifen möchten, ohne einen vollständigen annotierten Tag mit einer Nachricht erstellen zu müssen.
Sie verstehen nun den Unterschied zwischen annotierten und einfachen Tags und wissen, wie Sie git show und git cat-file verwenden können, um sie zu untersuchen.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man prüft, ob ein Git-Tag annotiert ist. Wir haben begonnen, indem wir den Befehl git show verwendet haben, um einen annotierten Tag zu untersuchen. Dabei haben wir die Zeile "tag" und die Tagger-Informationen in der Ausgabe als Indikatoren für einen annotierten Tag beobachtet. Dies hat gezeigt, wie git show eine benutzerfreundliche Möglichkeit bietet, Tag-Details anzuzeigen und zwischen Tag-Typen zu unterscheiden.
Anschließend haben wir die Verwendung des Befehls git cat - file erkundet, um direkt das mit einem Tag verknüpfte Git-Objekt zu untersuchen. Dies hat uns ein tieferes Verständnis der internen Struktur von Git und der Art und Weise gegeben, wie annotierte Tags als separate Objekte gespeichert werden. Durch die Verwendung von sowohl git show als auch git cat - file haben wir praktische Fähigkeiten erworben, um den Typ eines Git-Tags zu überprüfen und die grundlegenden Unterschiede zwischen annotierten und einfachen (lightweight) Tags zu verstehen.



