git tag
Erfahren Sie alles über git tag: Typen, Verwendung, Teilen, Auschecken und Löschen von Tags in Git.
Was ein Git-Tag ist
Ein Tag ist eine benannte Referenz, die auf einen bestimmten Commit in Ihrer Git-Historie zeigt. Im Gegensatz zu einem Branch, der sich bei jedem Commit vorwärtsbewegt, bleibt ein Tag fest auf dem Commit, für den er erstellt wurde. Das macht Tags ideal, um bedeutungsvolle, dauerhafte Punkte in einem Projekt zu markieren — am häufigsten Release-Versionen wie v1.0.0 oder v2.3.1.
Diese Seite erklärt, wie man die zwei Arten von Tags erstellt (annotated und lightweight), wie man sie auflistet und filtert, wie man vergangene Commits taggt und wie man Tags pusht, untersucht und löscht.

Einen Git-Tag erstellen
Um einen Git-Tag zu erstellen, führen Sie den folgenden Befehl aus:
git tag
git tag <name-of-tag>Ersetzen Sie beim Erstellen eines Tags <name-of-tag> durch einen semantischen Bezeichner für den Repository-Zustand — zum Beispiel v1.3. Git unterstützt zwei Arten von Tags: annotated und lightweight. Der wesentliche Unterschied zwischen ihnen ist die Menge der gespeicherten Metadaten.
Annotated vs. Lightweight-Tags
Die Wahl der richtigen Tag-Art ist wichtiger als es zunächst erscheint:
- Annotated Tags werden als vollständige Objekte in der Git-Datenbank gespeichert. Sie enthalten den Namen, die E-Mail-Adresse und das Datum des Erstellers sowie eine Tagging-Nachricht und können kryptografisch signiert und mit GPG (GNU Privacy Guard) verifiziert werden. Verwenden Sie sie für Releases und alles, was Sie mit anderen teilen.
- Lightweight-Tags sind nur ein Name, der auf einen Commit zeigt — keine zusätzlichen Metadaten, keine Nachricht, keine Signatur. Sie verhalten sich wie ein privates Lesezeichen. Verwenden Sie sie für temporäre oder lokale Markierungen.
Für veröffentlichte Versionen sind annotated Tags vorzuziehen, damit in der Historie festgehalten wird, wer das Release getaggt hat und wann.
Annotated Tags
Git speichert annotated Tags als vollständige Objekte in seiner Datenbank. Sie enthalten zusätzliche Metadaten wie den Namen, die E-Mail-Adresse und das Datum des Erstellers. Wie Commits enthalten annotated Tags eine Tagging-Nachricht.
Der folgende Befehl erstellt einen neuen annotated Tag mit der ID v1.3. Der konfigurierte Standard-Texteditor öffnet sich anschließend und fordert Sie auf, eine Tagging-Nachricht einzugeben.
git annotated tag
git tag -a v1.3Um die Nachricht direkt anzugeben und den Editor zu überspringen, verwenden Sie die Option -m:
git annotated tag with inline message
git tag -a v1.3 -m "Release version 1.3"Lightweight-Tags
Der folgende Befehl erstellt einen Lightweight-Tag mit der Bezeichnung v1.3-lw. Lightweight-Tags werden ohne die Optionen -a, -s oder -m erstellt. Sie speichern lediglich einen Zeiger auf ein bestimmtes Commit-Objekt im Verzeichnis .git/refs/tags/.
git lightweight tag
git tag v1.3-lwTags auflisten
Führen Sie den folgenden Befehl aus, um gespeicherte Tags aufzulisten:
git tag command
git tagAls Ergebnis sehen Sie eine ähnliche Ausgabe wie diese:
git tag output
v0.10.0
v0.10.0-rc1
v0.11.0
v0.11.0-rc1
v0.11.1
v0.11.2
v0.12.0
v0.12.0-rc1
v0.12.1
v0.12.2
v0.13.0
v0.13.0-rc1
v0.13.0-rc2Sie können die Option -l mit einem Wildcard-Ausdruck verwenden, um die Tag-Liste zu filtern:
git tag with wildcard
git tag -l *-rc*
v0.10.0-rc1
v0.11.0-rc1
v0.12.0-rc1
v0.13.0-rc1
v0.13.0-rc2
v0.14.0-rc1
v0.9.0-rc1
v15.0.0-rc.1
v15.0.0-rc.2
v15.4.0-rc.3Alte Commits taggen
Standardmäßig erstellt git tag einen Tag auf dem Commit, auf den HEAD zeigt. Sie können auch eine bestimmte Commit-Referenz übergeben, um stattdessen einen älteren Commit zu taggen. Führen Sie den Befehl git log aus, um ältere Commits anzuzeigen. Im folgenden Beispiel wird ein Merge-Commit für den neuen Tag verwendet. Um einen bestimmten Commit zu referenzieren, geben Sie dessen SHA-Hash an:
git log
git log --pretty=oneline
29389857951b64cf874c3557a0f3547bd83b899a Merging branch 'crossword'
b4a5697498bd301d84096da251c98a07c7723e65 init method for crossword
89f3aaab4479697da7686c15f77a3d64d9165190 little changes in logic
3a4a271eda8725415634dd79daabbc4d9b6008e Merging branch 'how-it-works'Führen Sie den Befehl git tag aus, um einen neuen annotated Tag mit der ID v1.2 für den im vorherigen Beispiel ausgewählten Commit zu erstellen:
git tag for old commits
git tag -a v1.2 29389857951b64cf874c3557a0f3547bd83b899aAlte Tags ersetzen
Der Versuch, einen Tag mit einem bereits vorhandenen Bezeichner zu erstellen, führt zu einem Fehler. Verwenden Sie die Option -f (force), um einen vorhandenen Tag zu aktualisieren, wobei dessen bisheriger Inhalt überschrieben wird.
git tag replacing old tags
git tag -a -f v1.3 29389857951b64cf874c3557a0f3547bd83b899aTags an Remote pushen
Tags werden nicht automatisch mit git push übertragen — standardmäßig überträgt git push Commits, lässt aber Ihre Tags zurück. Sie müssen sie explizit pushen, damit jeder, der das Repository klont, sie erhält.
Um einen einzelnen Tag zu pushen, übergeben Sie dessen Namen an git push:
git tag, pushing to remote
git push origin v1.3
Counting objects: 9, done.
Delta compression using up to 5 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 2.05 KiB | 0 bytes/s, done.
Total 12 (delta 3), reused 0 (delta 0)
To [email protected]:gr8/gittagdocs.git
* [new tag] v1.3 -> v1.3Um jeden lokalen Tag, den der Remote noch nicht hat, zu pushen, verwenden Sie die Option --tags:
git push all tags
git push origin --tagsEinen Tag untersuchen
Verwenden Sie git show, um die in einem Tag gespeicherten Daten anzuzeigen. Bei einem annotated Tag werden die Tag-Metadaten (Ersteller, Datum, Nachricht) gefolgt von dem Commit angezeigt, auf den er zeigt:
git show on an annotated tag
git show v1.3
tag v1.3
Tagger: Jane Doe <[email protected]m>
Date: Mon Jun 9 14:21:03 2025 +0000
Release version 1.3
commit 29389857951b64cf874c3557a0f3547bd83b899a
Author: Jane Doe <[email protected]m>
Date: Mon Jun 9 14:18:55 2025 +0000
Merging branch 'crossword'Einen Tag auschecken
Sie können den Befehl git checkout verwenden, um einen getaggten Commit zu untersuchen. Dadurch befindet sich das Repository im Zustand detached HEAD — HEAD zeigt direkt auf einen Commit statt auf einen Branch. Neue Commits, die Sie hier erstellen, gehören zu keinem Branch und sind nur über ihren SHA-Hash erreichbar, sodass sie verloren gehen können, sobald Sie wechseln.
git tag, checking out a tag
git checkout v1.3Wenn Sie von diesem Punkt aus weiterarbeiten möchten, erstellen Sie direkt einen Branch:
branch from a tag
git checkout -b release-1.3 v1.3Tags löschen
Sie können einen lokalen Tag löschen, indem Sie die Option -d und den Tag-Bezeichner an git tag übergeben. Sehen Sie das folgende Beispiel:
git tag, deleting tags
git tag
v1
v2
v3
git tag -d v1
git tag
v2
v3Das lokale Löschen eines Tags entfernt ihn nicht von einem Remote. Um einen Tag auch vom Remote zu löschen, pushen Sie das Löschen:
git delete remote tag
git push origin --delete v1Verwandte Themen
- git log — den Commit finden, den Sie taggen möchten.
- git push — Ihre Tags an ein Remote veröffentlichen.
- git branch — einen getaggten Commit in einen Branch umwandeln, auf dem Sie aufbauen können.