Das Problem besteht darin git tag
, dass alle Tags in allen Zweigen angezeigt werden, während git describe
nur Tags für Commits verwendet werden, die im aktuellen Zweig verfügbar sind .
Hier ist ein Beispiel (der Grund, warum ich tatsächlich hierher gekommen bin):
$ git tag | tail -n3
v0.4.0
v0.4.1
v0.4.2
Es zeigt das neueste verfügbare Tag v0.4.2
, aber dies ist meine Ausgabe von git describe
:
$ git describe --tags
v0.4.0-2-acd334c
Ich bin auf Entwicklungszweig. Wenn ich in das Protokoll grabe, sehe ich tatsächlich, dass die neuesten Tags im aktuellen Zweig nicht verfügbar sind:
$ git log --oneline --decorate=short | grep 'tag\:' | head -n3
acd334c (tag: v0.4.0) Merge pull request #1061
988fe5e (tag: v0.3.6) Merge pull request #859
5f97274 (tag: v0.3.5) Merge pull request #646
In meinem Fall haben die Entwickler beschlossen, einen neuen Release- Zweig ausschließlich zum Markieren von Releases zu erstellen, was dazu führt, dass der Entwicklungszweig nicht mehr mit den Tags auf dem neuesten Stand ist.
Hoffe das hilft und danke @eis für die Idee beim Überprüfen der Protokolle.