Wie listet man alle Git-Tags auf?

Lesezeit: 5 Minuten

Wie listet man alle Git Tags auf
Léo Léopold Hertz 준영

In meinem Repository habe ich Tags mit den folgenden Befehlen erstellt.

git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'

Wie listen Sie alle Tags im Repository auf?

Wie listet man alle Git Tags auf
VonC

git tag

sollte genug sein. Sehen git tag Manpage


Sie haben auch:

git tag -l <pattern>

Listen Sie Tags mit Namen auf, die dem angegebenen Muster entsprechen (oder alle, wenn kein Muster angegeben ist).
Wenn Sie „git tag“ ohne Argumente eingeben, werden auch alle Tags aufgelistet.


In jüngerer Zeit (“How to sort git tags?”, for Git 2.0+)

git tag --sort=<type>

Sortieren Sie in einer bestimmten Reihenfolge.

Unterstützter Typ ist:

  • refname” (lexikographische Ordnung),
  • version:refname” oder “v:refname” (Tag-Namen werden als Versionen behandelt).

Stellen Sie “-” voran, um die Sortierreihenfolge umzukehren.


Das listet beides auf:

  • kommentierte Tags: vollständige Objekte, die in der Git-Datenbank gespeichert sind. Sie sind Prüfsumme; den Namen, die E-Mail-Adresse und das Datum des Taggers enthalten; eine Tagging-Nachricht haben; und kann mit GNU Privacy Guard (GPG) signiert und verifiziert werden.
  • leichte Tags: Einfacher Zeiger auf einen bestehenden Commit

Beachten Sie das git ready Artikel über Tagging lehnt das Lightweight-Tag ab.

Ohne Argumente erstellt git tag ein „leichtes“ Tag, das im Grunde ein Zweig ist, der sich nie bewegt.
Lightweight-Tags sind jedoch immer noch nützlich, vielleicht zum Markieren einer bekannten guten (oder schlechten) Version oder einer Reihe von Commits, die Sie möglicherweise in Zukunft verwenden müssen.
Nichtsdestotrotz, Sie möchten diese Art von Tags wahrscheinlich nicht pushen.

Normalerweise möchten Sie zumindest die Option -a übergeben, um ein unsigniertes Tag zu erstellen, oder das Tag mit Ihrem GPG-Schlüssel über die Optionen -s oder -u signieren.


Davon abgesehen, Karl Bailey weist darauf hin, dass ein ‘git tag -m "..."‘ impliziert tatsächlich ein richtiges (nicht signiertes, kommentiertes) Tag (Option ‘-a‘), und kein leichtes. Sie sind also gut mit Ihrem ersten Befehl.


Dies unterscheidet sich von:

git show-ref --tags -d

Welches Tags mit ihren Commits auflistet (siehe „Git-Tag-Liste, Commit-Sha1-Hashes anzeigen“).
Beachten Sie das -d um das annotierte Tag-Objekt (das über einen eigenen Commit-SHA1 verfügt) zu dereferenzieren und den tatsächlich getaggten Commit anzuzeigen.

Ähnlich, git show --name-only <aTag> würde das Tag und den zugehörigen Commit auflisten.

  • Es lohnt sich wahrscheinlich hinzuzufügen, dass -m oder -F -a impliziert (wenn nicht -a, -s oder -u explizit angegeben werden. Sie können keine Tag-Nachricht haben, ohne ein “richtiges” Tag-Objekt zu erstellen.

    – CB Bailey

    30. Juni 2009 um 18:05 Uhr

  • Notiz an mich selbst: Mit diesem Upvote passiere ich 800000 (31. August 2018) bei Stack Overflow, ein Jahr und einen Monat nachdem ich 700000 (6. August 2017) erreicht habe.

    – VonC

    31. August 2018 um 6:57 Uhr

Wie listet man alle Git Tags auf
Finn

Um Tags aufzulisten, bevorzuge ich:

git tag -n

Die -n flag zeigt die erste Zeile der Anmerkungsmeldung zusammen mit dem Tag an, oder die erste Commit-Meldungszeile, wenn das Tag nicht kommentiert ist.

Sie können auch tun git tag -n5 um die ersten 5 Zeilen der Anmerkung anzuzeigen.

  • Dies war die Lösung, nach der ich gesucht habe, um Tags mit ihren Beschreibungen aufzulisten. Vielen Dank..

    – Prabo

    7. April 2021 um 11:01 Uhr

Ebenfalls git show-ref ist ziemlich nützlich, so dass Sie direkt assoziieren können Stichworte mit Korrespondent begeht:

$ git tag
osgeolive-6.5
v8.0
...

$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...

  • An Mercurial gewöhnt hg tags Ich mag es git show-ref gibt mir das Tag UND die Revision.

    – Justin

    8. Januar 2015 um 19:38 Uhr

Und so finden Sie die Remote-Tags:

git ls-remote --tags origin

Das Auflisten der verfügbaren Tags in Git ist einfach. Tipp einfach git tag (mit optional -l oder --list).

$ git tag
v5.5
v6.5

Sie können auch nach Tags suchen, die einem bestimmten Muster entsprechen.

$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2

Abrufen des neuesten Tags im Git-Repository

Der Befehl findet das neueste Tag, das von einem Commit aus erreichbar ist. Wenn das Tag auf den Commit zeigt, wird nur das Tag angezeigt. Andernfalls wird dem Tag-Namen die Anzahl der zusätzlichen Commits über dem markierten Objekt und dem abgekürzten Objektnamen des letzten Commits angehängt.

git describe

Mit --abbrev einstellen 0kann der Befehl verwendet werden, um den nächsten zu finden tagname ohne Suffix:

git describe --abbrev=0

Andere Beispiele:

git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch

So löschen Sie lokale Git-Tags, die auf der Fernbedienung nicht vorhanden sind

Um es einfach auszudrücken, wenn Sie versuchen, so etwas zu tun git fetch -p -tfunktioniert es ab der Git-Version nicht 1.9.4.

Es gibt jedoch eine einfache Problemumgehung, die in den neuesten Versionen immer noch funktioniert:

git tag -l | xargs git tag -d  // remove all local tags
git fetch -t                   // fetch remote tags

  • Die Drehzahlliste verwandter Befehl gab mir eine Liste, endete aber mit einem Fehler: v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.

    – not2qubit

    8. April 2019 um 17:22 Uhr


1646314089 390 Wie listet man alle Git Tags auf
alles

Versuchen Sie zu machen git tag es sollte ausreichen, wenn nicht versuchen, zu machen git fetch dann git tag.

  • Die Drehzahlliste verwandter Befehl gab mir eine Liste, endete aber mit einem Fehler: v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.

    – not2qubit

    8. April 2019 um 17:22 Uhr


1646314090 865 Wie listet man alle Git Tags auf
Andrej Sura

Um Details zum neuesten verfügbaren Tag anzuzeigen, verwende ich manchmal:

git show `git describe` --pretty=fuller

923850cookie-checkWie listet man alle Git-Tags auf?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy