No meu repositório, 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 no repositório?
No meu repositório, 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 no repositório?
Respostas:
git tag
deve ser suficiente. Veja a git tag
página de manual
Você também tem:
git tag -l <pattern>
Listar tags com nomes que correspondam ao padrão fornecido (ou todos, se nenhum padrão for fornecido).
Digitar "tag git" sem argumentos, também lista todas as tags.
Mais recentemente (" Como classificar tags git? ", Para Git 2.0+)
git tag --sort=<type>
Classifique em uma ordem específica.
O tipo suportado é:
- "
refname
" (ordem lexicográfica),- "
version:refname
" ou "v:refname
" (os nomes das tags são tratados como versões).Anexe "-" para reverter a ordem de classificação.
Isso lista os dois:
Nota: o artigo git ready sobre marcação reprova a marcação leve.
Sem argumentos, a tag git cria uma tag "leve" que é basicamente um ramo que nunca se move.
Tags leves ainda são úteis, talvez para marcar uma versão boa (ou ruim) conhecida ou várias confirmações que talvez você precise usar no futuro.
No entanto, você provavelmente não deseja enviar esses tipos de tags .Normalmente, você deseja passar pelo menos a opção -a para criar uma marca não assinada ou assinar a marca com sua chave GPG por meio das opções -s ou -u.
Dito isto, Charles Bailey ressalta que um ' git tag -m "..."
' na verdade implica uma tag (opção ' -a
') (não assinada ) e não uma etiqueta leve. Então você é bom com seu comando inicial.
Isso difere de:
git show-ref --tags -d
Que lista as tags com seus commits (consulte " Lista de tags do Git, exiba hashes de commit sha1 ").
Observe a -d
ordem para desreferenciar o objeto de marcação anotado (que possui seu próprio commit SHA1) e exibir o commit marcado real.
Da mesma forma, git show --name-only <aTag>
listaria a tag e o commit associado.
Também git show-ref
é bastante útil, para que você possa associar diretamente as tags aos commits correspondentes :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
eu gosto que git show-ref
me dá a etiqueta E a revisão.
E aqui está como você encontra as tags remotas:
git ls-remote --tags origin
Tente fazê- git tag
lo deve ser suficiente, se não tentar fazê git fetch
-lo git tag
.
git tag
comando deve ser suficiente se você quiser apenas ver uma lista de tags disponíveis. Se você não conseguir ver algumas tags que acredita existir no controle remoto, as tags locais podem não estar sincronizadas com o controle remoto. Nesse caso, busque as últimas referências / cabeças do controle remoto primeiro git fetch
, seguido pelo atual git tag
. Eu costumo executar uma linha como esta: $ git fetch -p && git tag
só para ter certeza de que estou olhando o melhor e mais recente.
Listar as tags disponíveis no Git é simples. Basta digitar git tag
(com opcional -l
ou --list
).
$ git tag
v5.5
v6.5
Você também pode procurar por tags que correspondam a um padrão específico.
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
Obtendo a tag mais recente no repositório git
O comando localiza a tag mais recente que pode ser acessada a partir de uma confirmação. Se a tag apontar para a confirmação, somente a tag será mostrada. Caso contrário, ele sufocará o nome da tag com o número de confirmações adicionais na parte superior do objeto marcado e o nome abreviado do objeto da confirmação mais recente.
git describe
Com --abbrev
set para 0
, o comando pode ser usado para encontrar o mais próximo tagname
sem nenhum sufixo:
git describe --abbrev=0
Outros exemplos:
git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch
Como remover tags git locais que não existem no controle remoto
Para simplificar, se você estiver tentando fazer algo assim git fetch -p -t
, não funcionará começando com a versão git 1.9.4
.
No entanto, existe uma solução simples que ainda funciona nas versões mais recentes:
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
Para ver detalhes sobre a última tag disponível, às vezes uso:
git show `git describe` --pretty=fuller
Se você quiser verificar o nome da sua marca localmente, precisará ir para o caminho em que criou a marca (caminho local). Significa onde você colocou seus objetos. Em seguida, digite o comando:
git show --name-only <tagname>
Ele mostrará todos os objetos com esse nome de tag. Estou trabalhando no Teradata e objeto significa visualização, tabela etc.
Você pode listar todas as tags existentes git tag
ou filtrar a lista com git tag -l 'v1.1.*'
, onde *
atua como um curinga. Ele retornará uma lista de tags marcadas com v1.1
.
Você notará que, quando liga git tag
, não consegue ver o conteúdo de suas anotações. Para visualizá-los você deve adicionar -n
ao seu comando: git tag -n2
.
$ git tag -l -n2
v1.0 Release versão 1.0
v1.1 Release versão 1.1
O comando lista todas as tags existentes com no máximo 3 linhas de sua mensagem. Por padrão, -n
mostra apenas a primeira linha. Para obter mais informações, verifique também este artigo relacionado a tags .