Skip to content

Latest commit

 

History

History
109 lines (81 loc) · 2.46 KB

File metadata and controls

109 lines (81 loc) · 2.46 KB

🏷️ Trabalhando com Tags no Git

As tags no Git são usadas para marcar pontos específicos na história do repositório, geralmente releases ou versões importantes de um projeto.


🔹 Tipos de Tags

  1. Lightweight Tag
    • Marcador simples, sem metadados adicionais.
    • Recomendada para uso local ou temporário.
# Criando uma lightweight tag
git tag "1.0.0"
  1. Annotated Tag
  • Armazena informações adicionais: autor, data e mensagem.
  • Ideal para releases ou versões oficiais.
# Criando uma annotated tag
git tag -a "1.0.0" -m "Versão 1.0.0 - Release inicial"

📋 Listando Tags

# Listar todas as tags do projeto
git tag

💡 Dica: Para ver tags com padrões específicos:

git tag -l "v1.*"

🚀 Enviando Tags para o Servidor

# Enviar todas as tags anotadas para o remoto
git push origin --tags

💡 Observação: Lightweight tags não são enviadas por padrão. Use --tags para garantir que todas as tags sejam compartilhadas.

🔄 Usando Tags

Checkout de uma Tag

git checkout 1.0.0

⚠️ Atenção: Isso coloca o repositório em detached HEAD. Se quiser fazer alterações, crie uma branch a partir da tag:

git checkout -b nova-branch 1.0.0

Excluindo Tags

# Local
git tag -d 1.0.0

# Remota
git push origin :refs/tags/1.0.0

💡 Boas Práticas e Cuidados

  1. Evite sobrescrever tags remotas

Remova primeiro se precisar atualizar:

git push origin :refs/tags/1.0.0   # remove do remoto
git push origin 1.0.0             # envia novamente
  1. Use tags para releases, não para commits intermediários

Tags devem marcar pontos importantes e estáveis do projeto.

  1. Combine tags com branches de release

Marque releases na branch main ou release para maior confiabilidade.

  1. Versionamento Semântico (SemVer)

MAJOR.MINOR.PATCH indica a natureza das alterações:

  • 2.0.0 → mudanças incompatíveis
  • 2.1.0 → novas funcionalidades compatíveis
  • 2.1.1 → correções de bugs
  1. Evite tags “móveis”

Crie tags somente em commits definitivos.

  1. Documente a tag

Use mensagens descritivas em annotated tags:

git tag -a "1.2.0" -m "Adiciona feature X e corrige bug Y"

🎯 Resumo Visual

flowchart TD
    GR[Git Repository] -->|Tag| Tag[Lightweight / Annotated]
    Tag -->|Push| Remote[Servidor Remoto]
    Tag -->|Checkout| WD[Working Directory]
Loading