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:?



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.


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)'

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--
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.