commande git pour afficher toutes les dates de création des balises (légères)


186

Y a-t-il une seule ligne qui me montre les dates de création de toutes les balises git light?

Quelque chose comme git show tags --format=date:?



1
@jleedev: Je cherchais une solution pour les balises légères. Je modifierai ma question en conséquence.
Dror Cohen

Également d'intérêt possible pour cette Q: stackoverflow.com/questions/2021599/...
Steen

12
Aucune information de date n'est attachée à une balise légère. Par conséquent, la réponse acceptée est incorrecte. Les dates dans la sortie de git log --tags --simplify-by-decoration --pretty="format:%ai %d"sont les dates des objets vers lesquels pointent les balises, et non les dates de création des balises elles-mêmes.
jub0bs

2
@Jubobs à proprement parler, vous avez raison: la bonne réponse est: "Il est impossible de faire ce que l'on veut". Mais c'est probablement ce que voulait l'OP.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Réponses:


303

J'ai trouvé dans ce lien une solution qui correspond à mes besoins:

git log --tags --simplify-by-decoration --pretty="format:%ai %d"

J'ai mis cette commande dans un alias dans my ~/.alias, donc maintenant chaque fois que je lance, gitshowtagbydatej'obtiens ce dont j'avais besoin.


8
Cela vaut la peine de mettre cela en ordre pour obtenir un ordre chronologique, si vous aimez ce genre de choses.
cam8001

41
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d':-)
Noah Sussman

2
git log --decorate = full --all --pretty = format: '% h% d% s% cr% ae' --abbrev-commit | grep 'refs / tags'
sivann

49
Aucune information de date n'est attachée à une balise légère. Par conséquent, cette réponse est incorrecte. Les dates dans la sortie de git log --tags --simplify-by-decoration --pretty="format:%ai %d"sont les dates des objets vers lesquels pointent les balises, et non les dates auxquelles les balises elles-mêmes ont été créées.
jub0bs

1
@Jubobs Si votre système de balisage effectue un commit séparé, comme Maven , ou si vous écrivez la nouvelle version de balise manuellement dans un fichier de version, par exemple, peu importe qu'il s'agisse d'une balise légère ou d'une balise annotée . C'est parce que le commit lié à la balise légère contiendra de toute façon la date actuelle et les informations du committer.
ingyhere

61

Le git tag -laffiche une liste de toutes les balises. L' --formatargument peut être utilisé pour définir une sortie personnalisée. Par exemple:

git tag -l --format='%(refname)   %(taggerdate)'

Mise à jour, basée sur les commentaires ci-dessous:

 git tag -l --sort=-creatordate --format='%(creatordate:short):  %(refname:short)'

13
Délimité par une barre verticale, format de date ISO 8601, trié avec la dernière en haut. git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
ingyhere

14
taggerdaten'est pas toujours défini; essayez creatordate.
9000 le

7
La version @ingyhere était ce que je cherchais - git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r- ref pour personnaliser l'horodatage
revelt

1
@revelt git> = 2.0 fournit un paramètre de tri. Mettez un signe moins pour inverser l'ordre. git tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
con--

En fonction de la git-for-each-refmanière dont l' formatindicateur détermine et rend les champs, vous pouvez ajouter un *avant le nom de champ afin d'obtenir la date de l'objet vers lequel pointe la balise. --format='%(*creatordate)'bien que je n'ai vu aucune différence quand j'ai essayé ceci.
Cheruvim
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.