Como listar todas as etiquetas Git?

No meu repositório, eu criei tags usando os seguintes comandos.

git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'

Como você lista todas as tags do repositório?

Solução
git tag

deve ser suficiente. Veja git tag man page


Você também tem:

git tag -l 

Listar etiquetas com nomes que correspondam ao padrão dado (ou todos se não for dado nenhum padrão).
Typing "git tag" sem argumentos, também lista todas as tags.


Mais recentemente ("Como classificar tags de git?", para Git 2.0+)

git tag --sort=

Ordenar em uma ordem específica.

Tipo suportado é:

  • " refname" (ordem lexicográfica),
  • "version:refname" ou "v:refname" (os nomes das etiquetas são tratados como versões).

Prepend "-" para inverter a ordem de classificação.


Isso lista ambos:

  • tags anotadas: objetos completos armazenados na base de dados Git. Eles são checksummed; contêm o nome do tagger, e-mail e data; têm uma mensagem de tagging; e podem ser assinados e verificados com o GNU Privacy Guard (GPG).
  • tags leves: simples ponteiro para um commit existente

Nota: o artigo pronto para a etiquetagem desaprova a etiquetagem leve.

Sem argumentos, git tag cria uma tag "lightweight" que é basicamente um ramo que nunca se move.
Mas tags leves ainda são úteis, talvez para marcar uma versão conhecida boa (ou ruim), ou um monte de compromissos que você pode precisar usar no futuro.
No entanto, **você provavelmente não quer empurrar este tipo de tags***.

Normalmente, você quer pelo menos passar a opção -a para criar uma tag não assinada, ou assinar a tag com a sua chave GPG através das opções -s ou -u < key-id>.


Dito isto, Charles Bailey aponta que uma 'git tag -m "..."' na verdade implica uma tag própria (não assinada) (opção '-a'), e não uma tag leve. Então você é bom com o seu comando inicial.


Isto difere de:

git show-ref --tags -d

Que lista tags com seus commits (ver "Git Tag list, display commit sha1 hashes").
Note o `-d' para desreferenciar o objeto tag anotado (que tem seu próprio commit SHA1) e exibir o commit real do tagged.

Da mesma forma, git show --name-only listaria a tag e o commit associado.

Comentários (5)

Para listar tags eu prefiro:

git tag -n

A bandeira `-n' exibe a primeira linha da mensagem de anotação junto com a tag, ou a primeira linha de mensagem de submissão se a tag não for anotada.

Você também pode fazer git tag -n5 para mostrar as 5 primeiras linhas da anotação.

Comentários (0)

Tente fazer git tag deve ser suficiente se não tentar fazer git fetch e depois git tag.

Comentários (2)