13. Adicionando tags a versões

Metas

  • Aprender como adicionar tags a commits para referenciamento futuro

Vamos chamar a versão atual do nosso programa "Hello" de versão 1 (v1).

01 Criando a tag do primeiro

Execute:

git tag v1

Agora, a versão atual da página é conhecida como v1.

02 Tags em versões antigas

Vamos adicionar uma tag à versão anterior à nossa atual versão com o nome v1-beta. Antes de tudo, nós vamos precisar de verificar as nossas versões anteriores. Ao invés de olhar pelo hash, nós vamos usar a notação ^ indicando “o pai de v1”.

Se a notação v1^ gera problemas, tente usar v1~1 para referenciar a mesma versão. Essa notação significa “a primeira versão antes de v1”.

Execute:

git checkout v1^
cat hello.html

Execute:

$ git checkout v1^
Note: checking out 'v1^'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 8c32287... Added standard HTML page tags
$ cat hello.html
<html>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Essa é a versão com as tags <html> e <body>, mas sem <head>. Vamos fazer dessa a versão v1-beta.

Execute:

git tag v1-beta

03 Acessando através do nome da tag

Agora tente executar um checkout entre as duas versões com tags.

Execute:

git checkout v1
git checkout v1-beta

Resultado:

$ git checkout v1
Previous HEAD position was 8c32287... Added standard HTML page tags
HEAD is now at fa3c141... Added HTML header
$ git checkout v1-beta
Previous HEAD position was fa3c141... Added HTML header
HEAD is now at 8c32287... Added standard HTML page tags

04 Vendo tags com o comando tag

Você pode ver todas as tags usadas usando o comando git tag.

Execute:

git tag

Resultado:

$ git tag
v1
v1-beta

05 Vendo tags nos logs

Você também pode encontrar as tags no log.

Execute:

git hist master --all

Resultado:

$ git hist master --all
* fa3c141 2011-03-09 | Added HTML header (v1, master) [Alexander Shvets]
* 8c32287 2011-03-09 | Added standard HTML page tags (HEAD, v1-beta) [Alexander Shvets]
* 43628f7 2011-03-09 | Added h1 tag [Alexander Shvets]
* 911e8c9 2011-03-09 | First Commit [Alexander Shvets]

Você pode ver as tags (v1 e v1-beta) listadas no log juntamente com o nome do branch (master). O HEAD mostra o commit em que você está (atualmente v1-beta).