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 listet man alle Tags im Repository auf?
git tag
sollte genug sein. Siehe 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 (" Wie sortiere ich Git-Tags? ", Für Git 2.0+)
git tag --sort=<type>
In einer bestimmten Reihenfolge sortieren.
Unterstützter Typ ist:
- "
refname
" (lexikografische Reihenfolge),- "
version:refname
" oder "v:refname
" (Tag-Namen werden als Versionen behandelt).Stellen Sie "-" voran, um die Sortierreihenfolge umzukehren.
Das listet beide auf:
Hinweis: Der git-fähige Artikel zum Markieren missbilligt das leichte Tag.
Ohne Argumente erstellt das Git-Tag ein "leichtes" Tag, das im Grunde ein Zweig ist, der sich nie bewegt.
Leichte Tags sind jedoch immer noch nützlich, möglicherweise zum Markieren einer bekannten guten (oder schlechten) Version oder einer Reihe von Commits, die Sie möglicherweise in Zukunft verwenden müssen.
Trotzdem möchten Sie diese Art von Tags wahrscheinlich nicht pushen .Normalerweise möchten Sie mindestens die Option -a übergeben, um ein nicht signiertes Tag zu erstellen, oder das Tag mit Ihrem GPG-Schlüssel über die Optionen -s oder -u signieren.
Davon abgesehen weist Charles Bailey darauf hin, dass ein ' git tag -m "..."
' tatsächlich ein richtiges (nicht signiertes, mit Anmerkungen versehenes) Tag (Option ' -a
') impliziert und kein leichtes. Sie sind also gut mit Ihrem anfänglichen Befehl.
Dies unterscheidet sich von:
git show-ref --tags -d
Welche listet Tags mit ihren Commits auf (siehe " Git-Tag-Liste, Commit-sha1-Hashes anzeigen ").
Beachten Sie das, -d
um das mit Anmerkungen versehene Tag-Objekt (das über ein eigenes Commit SHA1 verfügt) zu dereferenzieren und das tatsächlich mit Tags versehene Commit anzuzeigen.
In ähnlicher Weise git show --name-only <aTag>
würde das Tag und das zugehörige Commit aufgelistet.
Um Tags aufzulisten, bevorzuge ich:
Das
-n
Flag zeigt die erste Zeile der Anmerkungsnachricht zusammen mit dem Tag oder die erste Commit-Nachrichtenzeile an, wenn das Tag nicht mit Anmerkungen versehen ist.Sie können auch
git tag -n5
die ersten 5 Zeilen der Anmerkung anzeigen.quelle
Ist auch
git show-ref
ziemlich nützlich, damit Sie Tags direkt mit entsprechenden Commits verknüpfen können :quelle
hg tags
ich an Mercurials gewöhnt bin, maggit show-ref
ich das Tag UND die Revision.Und so finden Sie die Remote-Tags:
git ls-remote --tags origin
quelle
Versuchen Sie es zu machen
git tag
sollte ausreichen, wenn nicht versuchen Sie esgit fetch
dann zu machengit tag
.quelle
git tag
Befehls sollte ausreichen, wenn Sie nur eine Liste der verfügbaren Tags anzeigen möchten. Wenn Sie einige Tags nicht sehen können, von denen Sie glauben, dass sie auf der Fernbedienung vorhanden sind, sind Ihre lokalen Tags möglicherweise nicht mit der Fernbedienung synchronisiert. In diesem Fall rufen Sie zuerst die neuesten Refs / Köpfe von der Fernbedienung abgit fetch
, gefolgt von den tatsächlichengit tag
. Normalerweise fahre ich einen Einzeiler wie diesen:$ git fetch -p && git tag
Nur um sicherzugehen, dass ich auf dem neuesten und besten Stand bin.Das Auflisten der verfügbaren Tags in Git ist unkompliziert. Geben Sie einfach
git tag
(mit optional-l
oder--list
) ein.Sie können auch nach Tags suchen, die einem bestimmten Muster entsprechen.
Abrufen des neuesten Tags im Git-Repository
Der Befehl findet das neueste Tag, das über ein Commit erreichbar ist. Wenn das Tag auf das Commit zeigt, wird nur das Tag angezeigt. Andernfalls wird der Tag-Name mit der Anzahl der zusätzlichen Commits über dem markierten Objekt und dem abgekürzten Objektnamen des letzten Commits versehen.
Mit
--abbrev
set to0
kann der Befehl verwendet werden, um den nächstentagname
ohne Suffix zu finden:Andere Beispiele:
So beschneiden 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 -t
, funktioniert es ab der Git-Version nicht mehr1.9.4
.Es gibt jedoch eine einfache Problemumgehung, die in den neuesten Versionen weiterhin funktioniert:
quelle
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
Um Details zum neuesten verfügbaren Tag anzuzeigen, verwende ich manchmal:
quelle
Wenn Sie Ihren Tag-Namen lokal überprüfen möchten, müssen Sie zu dem Pfad gehen, in dem Sie das Tag erstellt haben (lokaler Pfad). Bedeutet, wo Sie Ihre Objekte platziert haben. Geben Sie dann den folgenden Befehl ein:
Es werden alle Objekte unter diesem Tag-Namen angezeigt. Ich arbeite in Teradata und Objekt bedeutet Ansicht, Tabelle usw.
quelle
Sie können alle vorhandenen Tags auflisten
git tag
oder die Liste mit filterngit tag -l 'v1.1.*'
, wobei sie*
als Platzhalter fungiert. Es wird eine Liste der mit gekennzeichneten Tags zurückgegebenv1.1
.Sie werden feststellen, dass Sie beim Anruf
git tag
den Inhalt Ihrer Anmerkungen nicht sehen können. Um eine Vorschau anzuzeigen, müssen Sie-n
Ihrem Befehl Folgendes hinzufügen :git tag -n2
.v1.0 Release Version 1.0
v1.1 Release Version 1.1
Der Befehl listet alle vorhandenen Tags mit maximal 3 Zeilen ihrer Tag-Nachricht auf. Standardmäßig wird
-n
nur die erste Zeile angezeigt . Weitere Informationen finden Sie auch in diesem Artikel zum Thema Tags .quelle
Damit eine GUI dies tun kann, habe ich gerade festgestellt, dass 'gitk' benannte Ansichten unterstützt. Die Ansichten bieten verschiedene Optionen zum Auswählen von Commits. Eine praktische ist eine Box zur Auswahl von "Alle Tags". Das scheint für mich zu funktionieren, um die Tags zu sehen.
quelle