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:
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)'
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)'
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.Respostas:
Encontrei neste link uma solução que atende às minhas necessidades:
Coloquei esse comando em um alias no meu
~/.alias
, então agora toda vez que corrogitshowtagbydate
recebo o que precisava.fonte
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d'
:-)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.O
git tag -l
mostra uma lista de todas as tags. O--format
argumento pode ser usado para definir uma saída customizada. Por exemplo:Atualização, com base nos comentários abaixo:
fonte
git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
taggerdate
nem sempre é definido; tentecreatordate
.git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r
- ref para personalizar o carimbo de horagit tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'