An ein leichtes Tag sind keine Datumsinformationen angehängt. Daher ist die akzeptierte Antwort falsch. Die Daten in der Ausgabe von git log --tags --simplify-by-decoration --pretty="format:%ai %d"sind die Daten der Objekte, auf die die Tags verweisen, nicht die Daten, an denen die Tags selbst erstellt wurden.
Jub0bs
2
@Jubobs genau genommen haben Sie Recht: Die richtige Antwort lautet: "Es ist unmöglich zu tun, was Sie wollen". Aber genau das wollte das OP.
Ciro Santilli 法轮功 冠状 病 六四 事件 27
Antworten:
303
Ich habe in diesem Link eine Lösung gefunden, die meinen Anforderungen entspricht:
Ich habe diesen Befehl in einen Alias in meinem ~/.aliaseingefügt, sodass ich jetzt jedes Mal, wenn ich ihn ausführe gitshowtagbydate, das bekomme, was ich brauchte.
An ein leichtes Tag sind keine Datumsinformationen angehängt. Daher ist diese Antwort falsch. Die Daten in der Ausgabe von git log --tags --simplify-by-decoration --pretty="format:%ai %d"sind die Daten der Objekte, auf die die Tags verweisen, nicht die Daten, an denen die Tags selbst erstellt wurden.
Jub0bs
1
@Jubobs Wenn Ihr Tagging-System wie Maven ein separates Commit ausführt oder Sie beispielsweise die neue Tag-Version manuell in eine Versionsdatei schreiben, spielt es keine Rolle, ob es sich um ein leichtes Tag oder ein mit Anmerkungen versehenes Tag handelt . Dies liegt daran, dass das mit dem Lightweight-Tag verknüpfte Commit ohnehin das aktuelle Datum und die Committer-Informationen enthält.
Ingyhere
61
Das git tag -lzeigt eine Liste aller Tags. Das --formatArgument kann verwendet werden, um eine benutzerdefinierte Ausgabe zu definieren. Beispielsweise:
git tag -l --format='%(refname) %(taggerdate)'
Update basierend auf den Kommentaren unten:
git tag -l --sort=-creatordate --format='%(creatordate:short): %(refname:short)'
Rohr getrennt, ISO 8601 Datumsformatierung, sortiert mit den neuesten oben. git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
Ingyhere
14
taggerdateist nicht immer eingestellt; versuche es creatordate.
9000
7
@ingyhere Version war das, wonach ich gesucht habe - git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r- Ref für das Anpassen des Zeitstempels
revelt
1
@revelt git> = 2.0 liefert einen Sortierparameter. Setzen Sie ein Minus, um die Reihenfolge umzukehren. git tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
git log --tags --simplify-by-decoration --pretty="format:%ai %d"
sind die Daten der Objekte, auf die die Tags verweisen, nicht die Daten, an denen die Tags selbst erstellt wurden.Antworten:
Ich habe in diesem Link eine Lösung gefunden, die meinen Anforderungen entspricht:
Ich habe diesen Befehl in einen Alias in meinem
~/.alias
eingefügt, sodass ich jetzt jedes Mal, wenn ich ihn ausführegitshowtagbydate
, das bekomme, was ich brauchte.quelle
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d'
:-)git log --tags --simplify-by-decoration --pretty="format:%ai %d"
sind die Daten der Objekte, auf die die Tags verweisen, nicht die Daten, an denen die Tags selbst erstellt wurden.Das
git tag -l
zeigt eine Liste aller Tags. Das--format
Argument kann verwendet werden, um eine benutzerdefinierte Ausgabe zu definieren. Beispielsweise:Update basierend auf den Kommentaren unten:
quelle
git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
taggerdate
ist nicht immer eingestellt; versuche escreatordate
.git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r
- Ref für das Anpassen des Zeitstempelsgit tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'