Comando git para mostrar todas as datas de criação de tags (leves)

186

Existe um liner que me mostre as datas em que todas as tags leves do git foram criadas?

Algo como git show tags --format=date:?

Dror Cohen
fonte
1
@ jleedev: Eu estava procurando uma solução para tags leves. Vou editar minha pergunta de acordo.
Dror Cohen
Também é de interesse possível para esse Q: stackoverflow.com/questions/2021599/…
Steen
12
Não há informações de data anexadas a uma tag leve. Portanto, a resposta aceita está incorreta. As datas na saída de git log --tags --simplify-by-decoration --pretty="format:%ai %d"são as datas dos objetos para os quais as tags apontam, não as datas em que as próprias tags foram criadas.
Jub0bs
2
@ Jubobs, a rigor, você está certo: a resposta correta é: "É impossível fazer o que você quer". Mas isso é provavelmente o que o OP queria.
Ciro Santilli escreveu:

Respostas:

303

Encontrei neste link uma solução que atende às minhas necessidades:

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

Coloquei esse comando em um alias no meu ~/.alias, então agora toda vez que corro gitshowtagbydaterecebo o que precisava.

Dror Cohen
fonte
8
Vale a pena colocar isso em ordem para obter uma ordem cronológica, se você gosta desse tipo de coisa.
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
Não há informações de data anexadas a uma tag leve. Portanto, esta resposta está incorreta. As datas na saída de git log --tags --simplify-by-decoration --pretty="format:%ai %d"são as datas dos objetos para os quais as tags apontam, não as datas em que as próprias tags foram criadas.
Jub0bs
1
@Jubobs Se o seu sistema de marcação realizar uma confirmação separada, como o Maven , ou se você escrever a nova versão manualmente em um arquivo de versão, por exemplo, não importará se é uma marca leve ou uma marca anotada . Isso porque o commit vinculado à tag leve conterá a data atual e as informações do commit, de qualquer maneira.
ingyhere
61

O git tag -lmostra uma lista de todas as tags. O --formatargumento pode ser usado para definir uma saída customizada. Por exemplo:

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

Atualização, com base nos comentários abaixo:

 git tag -l --sort=-creatordate --format='%(creatordate:short):  %(refname:short)'
vdboor
fonte
13
Delimitado por canal, formatação de data iso 8601, classificado com as últimas na parte superior. git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
ingyhere
14
taggerdatenem sempre é definido; tente creatordate.
9000
7
versão @ingyhere era a coisa que eu estava procurando - git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r- ref para personalizar o carimbo de hora
revelt
1
@revelt git> = 2.0 fornece um parâmetro de classificação. Coloque um sinal de menos para reverter a ordem. git tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
con--