Git: criando tags

Rafael Tardivo
rafaeltardivo
Published in
4 min readJul 9, 2019

Como e quando usar tags no Git!

Figura 1 — My first tag

Já que agora já sabemos como criar e versionar repositórios, chegou a hora de investirmos um tempo na organização dos nossos projetos. Sendo assim, nosso primeiro passo será aprender como (e quando) criar tags.

O que são tags?

São etiquetas que demarcam um ponto (commit) que representa alguma mudança significativa no seu código, ou seja, uma versão (ou release) do seu projeto.

Criando a versão inicial de uma calculadora

Para exemplificar o uso de tags, vamos fazer uma calculadora simples em Python. Crie um repositório vazio chamado simplecalculator (se você ainda não sabe como criar um repositório, veja no meu post anterior).

Uma vez criado o repositório, vamos cloná-lo:

$ git clone https://github.com/seuuser/simplecalculator.git

Você irá receber um warning por estar clonando um repositório vazio, tudo bem até aí. Vá até o diretório simplecalculator e crie o arquivo README.md:

$ cd simplecalculator
$ touch README.md

Agora, com seu editor preferido, abra o arquivo README.md e insira:

# Simple CalculatorA simple calculator made in Python

Antes de mais nada, porque criamos um arquivo chamado README.md? E porque a extensão dele é md?

Por padrão, todo repositório tem um arquivo README.md que explica o básico de seu funcionamento para outros desenvolvedores e/ou usuários!

Já sobre a extensão .md, Trata-se de um arquivo markdown! Se quiser saber mais sobre, acesse: https://www.markdownguide.org/

Pois bem, agora que editamos nosso arquivo, vamos versioná-lo:

$ git add README.md
$ git commit -m "Initial commit"
$ git push

Vá até o Github e observe que o nosso README.md foi automaticamente renderizado na home do repositório:

Figura 2 — Repositório com README.md inicializado

Observe também que temos 1 commit, 1 branch e 0 releases e 1 contributor:

Figura 3— Informações sobre o repositório

Sobre essas informações, commit nos já sabemos o que é, release faremos agora e contributor indica o número de participantes no repositório (nesse caso, só eu). Quanto às branches, serão assunto do próximo post ;)

Adicionamos o README.md mas nós ainda não temos uma versão funcional para lançar, certo? Criaremos então a versão 1.0 da nossa calculadora. No diretório simplecalculator, crie o arquivo calculator.py:

$ touch calculator.py

Agora adicione a função sum_numbers a ele:

def sum_numbers(n1, n2):
"""Simple sum of two numbers."""
return n1 + n2

Feito isso, vamos versioná-lo também:

$ git add calculator.py
$ git commit -m "Add sum function"
$ git push

Agora que temos uma versão minimamente funcional, chegou a hora de criar a nossa primeira tag!

Tipos de tag

Existem dois tipos de tag: annotaded e lightweight. De maneira bem resumida, podemos dizer que tags annotated armazenam detalhes sobre o estado do repositório naquele momento, enquanto tags lightweight armazenam apenas o checksum do commit em que foram geradas! Se quiser saber mais sobre o assunto, acesse: https://git-scm.com/book/en/v2/Git-Basics-Tagging

Criando nossa primeira tag

No nosso caso, criaremos uma tag annotated. A sintaxe é bem simples e parecida com a do commit:

$ git tag -a <name> -m <message>

No nosso caso, chamaremos a versão de v1.0 e incluiremos a mensagem “v1.0 sum function”:

$ git tag -a v1.0 -m “Sum functionality

Voilá! Nossa tag foi criada! Vamos ver se deu tudo certo? Execute o comando:

$ git tag

A saída deverá ser:

v1.0

Agora iremos obter informações sobre nossa tag. Execute o comando:

$ git show v1.0

Observe a quantidade de informações que uma tag annotated pode nos fornecer:

tag v1.0
Tagger: Seu User <seuemail@email.com>
Date: Fri Jun 28 23:34:12 2019 -0300
v1.0 - sum functioncommit 25083f2a4ac59654e16a05524d1e4dce045fee31 (HEAD -> master, tag: v1.0, origin/master)
Author: Seu User <seuemail@email.com>
Date: Fri Jun 28 23:15:56 2019 -0300
Add sum functiondiff --git a/calculator.py b/calculator.py
new file mode 100644
index 0000000..3d22ba3
--- /dev/null
+++ b/calculator.py
@@ -0,0 +1,3 @@
+def sum(n1, n2):
+"""Simple sum of two numbers."""
+ return n1 + n2

Dentre outras informações, temos:

  • Usuário que criou a tag
  • Checksum do commit que a originou
  • Arquivo(s) alterado(s)
  • Conteúdo da(s) alteração(ões)

Versionando nossa primeira tag

Agora que já criamos a tag, vamos versioná-la. Para isso, execute o comando:

$ git push origin v1.0

Obs: v1.0 é o nome da nossa tag

Pronto! Vá até o seu repositório no Github e veja que agora temos nosso primeiro release:

Figura 4 — Primeiro release

Ao clicarmos nele:

Figura 5 — Detalhe do primeiro release

Excluindo uma tag

Normalmente tags não são excluidas a menos que tenham sido geradas por engano! Se for esse o seu caso, primeiro realize a exclusão local:

git tag -d v1.0

e depois a exclusão no seu remote:

git push --delete origin v1.0

Bom, por hoje é só! Espero que tenham gostado! O próximo post será sobre branches! Mantenham o repositório simplecalculator, ele será usado lá também.

Até mais o/

--

--