Git: criando tags
Como e quando usar tags no Git!
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:
Observe também que temos 1 commit, 1 branch e 0 releases e 1 contributor:
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 -0300v1.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 -0300Add 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:
Ao clicarmos nele:
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/