Introdução
Básico
Branches
Merge/Rebase
Avançado
GitHub
CI/CD

Git Tags: Marcando Versões e Pontos Importantes

Objetivo: Aprender a usar tags no Git para marcar versões específicas, releases e pontos significativos no histórico do repositório.

O que são Tags no Git?

Tags são referências que apontam para pontos específicos no histórico do Git. Diferente de branches, as tags não mudam após criadas, servindo como âncoras para versões específicas do seu código.

As tags são comumente usadas para marcar versões oficiais de lançamento (v1.0, v2.1.3), releases importantes, ou marcos significativos no desenvolvimento.

Tipos de Tags

Tags Leves

São simples ponteiros para um commit específico, contendo apenas o hash do commit.

Tags Anotadas

São objetos completos no banco de dados do Git. Elas contêm informações como:

Recomendação: Use tags anotadas para releases e versões oficiais, e tags leves para marcações temporárias ou pessoais.

Criando Tags

Tags Leves

# Criar uma tag leve no commit atual
git tag v1.0-leve

Tags Anotadas (Recomendado para releases)

# Criar uma tag anotada
git tag -a v1.0 -m "Versão 1.0 - Primeiro lançamento estável"

Criar tag em um commit específico

# Primeiro, encontre o hash do commit desejado
git log --oneline

# Depois, crie a tag nesse commit específico
git tag -a v0.9-beta 9fceb02 -m "Versão Beta"

Listando Tags

# Listar todas as tags
git tag

# Listar tags com filtro por padrão
git tag -l "v1.*"

# Ver informações detalhadas de uma tag
git show v1.0

Compartilhando Tags

Por padrão, o comando git push não envia tags para o repositório remoto. É preciso explicitamente enviar as tags:

# Enviar uma tag específica
git push origin v1.0

# Enviar todas as tags
git push origin --tags

Deletando Tags

# Remover tag localmente
git tag -d v1.0

# Remover tag do repositório remoto
git push origin --delete v1.0
# ou
git push origin :refs/tags/v1.0

Fazendo Checkout de Tags

Você pode fazer checkout de uma tag, mas isso colocará seu repositório em estado "detached HEAD" (cabeça destacada), pois tags são imutáveis.

# Examinar o código no ponto da tag
git checkout v1.0

Se quiser fazer alterações baseadas nessa tag, crie uma nova branch a partir dela:

git checkout -b hotfix-1.0 v1.0

Convenções de Nomenclatura para Tags

Versionamento Semântico (Recomendado)

O padrão de Versionamento Semântico segue o formato MAJOR.MINOR.PATCH:

Exemplos: v1.0.0, v2.3.1

Para versões pré-lançamento: v1.0.0-alpha, v1.0.0-beta.1, v1.0.0-rc.2

Tags no GitHub/GitLab

Nos serviços de hospedagem de Git como GitHub e GitLab, as tags são frequentemente usadas para:

A interface web desses serviços permite visualizar, criar e gerenciar tags facilmente.

Exercícios Práticos

Exercício: Gerenciamento de Tags

Objetivo: Praticar a criação e gerenciamento de tags para versões

  1. Crie uma tag anotada chamada v1.0.0 no seu commit mais recente
  2. Crie outra tag v0.9.0 em um commit anterior
  3. Liste todas as suas tags
  4. Visualize detalhes da tag v1.0.0
  5. Compartilhe suas tags com o repositório remoto

Referências

← Voltar para página principal