Texto de: Letícia Garcez
Introdução
Já falamos sobre diferentes aspectos do sistema de controle de versão Git aqui no blog, e neste artigo iremos abordar mais uma característica desse sistema de controle de versão: as tags.
O que são as tags do Git?
As tags do Git são uma espécie de marcação que podemos adicionar a um commit específico no repositório. Ao adicionar essa marcação, podemos nos referir àquele commit específico usando a tag, o que pode ser útil quando trabalhamos com diferentes releases de código, por exemplo.
Como criar tags
Para testar a criação de tags, eu iniciei um repositório do Git com dois arquivos de texto, fiz o commit inicial, alterei esses arquivos, fiz outro commit e por fim criei um terceiro arquivo de texto e também fiz o commit dele. Os comandos usados para isso podem ser vistos abaixo:
git init
touch arquivo1.txt
touch arquivo2.txt
git add .
git commit -m "criação arquivos 1 e 2"
echo texto1 >> arquivo1.txt
echo texto2 >> arquivo2.txt
git add .
git commit -m "alteração arquivos 1 e 2"
touch arquivo3.txt
git add .
git commit -m "adicionado arquivo3"
Com isso, o meu histórico de commits obtido com o comando git log --oneline
se parece com o código abaixo:
f69d0e5 (HEAD -> master) adicionado arquivo3
6d54979 alteração arquivos 1 e 2
88b311d criação arquivos 1 e 2
Para criar uma tag, usamos a sintaxe git tag <nome da tag> <hash do commit>
, assim, o código git tag tag1 88b311d
irá adicionar uma tag chamada tag1 no meu primeiro commit. Após a adição da tag, podemos visualizar esta tag no histórico de commits:
f69d0e5 (HEAD -> master) adicionado arquivo3
6d54979 alteração arquivos 1 e 2
88b311d (tag: tag1) criação arquivos 1 e 2
Além de adicionar o nome da tag, existem outras informações que podemos adicionar a ela, como uma mensagem de anotação e o autor. Todas as informações que podem ser utilizadas na criação de tags podem ser acessadas da documentação do Git que pode ser acessada clicando aqui.
Agora, usaremos o comando git tag -a tag2 -m "Melhor Versão" 6d54979
para adicionar uma tag anotada ao segundo commit. Essa tag anotada (especificada pelo parâmetro -a) terá o nome tag2 e uma mensagem “Melhor Versão”.
Ao olhar o histórico de commits, a tag2 também é mostrada agora.
f69d0e5 (HEAD -> master) adicionado arquivo3
6d54979 (tag: tag2) alteração arquivos 1 e 2
88b311d (tag: tag1) criação arquivos 1 e 2
Usando tags
Agora que já criamos as tags, podemos utilizá-las sempre que for preciso referenciar um commit específico. O commit 356f307, por exemplo, agora pode ser acessado através da tag tag1, enquanto o commit 393a7ba pode ser acessado através da tag2.
O comando git reset tag2
, por exemplo, irá efetuar um git reset
e retornará o código para o estado onde ele se encontrava na tag2, ou seja, no commit 6d54979.
Outros comandos relacionados às tags
Agora que já criamos algumas tags, podemos listá-las usando o comando git tag
, ou o comando git tag -n
que mostrará além das tags existentes, as mensagens associadas às tags, se estas existirem ou a mensagem do commit ao qual a tag está associada.
# Resultado do comando git tag
tag1
tag2
# Resultado do comando git tag -n
tag1 criação arquivos 1 e 2
tag2 Melhor Versão
Para deletar uma tag, você pode usar o comando git tag -d <nome da tag>
Para subir as suas tags para o repositório remoto, é possível usar o comando git push --tags
para enviar todas as tags, ou o comando git push <nome da tag>
para enviar uma tag específica.
Considerações finais
As tags do Git são uma maneira útil de marcar pontos importantes em no histórico de commits do seu projeto, permitindo que você acesse pontos específicos do histórico de desenvolvimento do seu projeto de maneira rápida.