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:
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)'
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.
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.Réponses:
J'ai trouvé dans ce lien une solution qui correspond à mes besoins:
J'ai mis cette commande dans un alias dans my
~/.alias
, donc maintenant chaque fois que je lance,gitshowtagbydate
j'obtiens ce dont j'avais besoin.la source
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d'
:-)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.Le
git tag -l
affiche une liste de toutes les balises. L'--format
argument peut être utilisé pour définir une sortie personnalisée. Par exemple:Mise à jour, basée sur les commentaires ci-dessous:
la source
git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
taggerdate
n'est pas toujours défini; essayezcreatordate
.git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r
- ref pour personnaliser l'horodatagegit tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
git-for-each-ref
manière dont l'format
indicateur 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.