twitterfacebookgoogle pluslinkedinrss feedemail

terça-feira, 20 de outubro de 2015

Git - GitHub - Controle de Versão - TAGS

Esta é a terceira parte do artigo sobre Git.
Para ler o primeiro artigo, com comandos essenciais. Clique aqui.
Para ler o segundo artigo, com comandos para servidores remotos. Clique aqui.

Um recurso interessante é criar TAGs, para marcar pontos de release do seu sistema/aplicativo.

Listando Tags.
O comando abaixo exibe as Tags cadastradas no repositório.
  $ git tag   
  v.3.0   

Executando o comando show, podemos ver os detalhes sobre a tag, como a anotação, quem fez a tag, etc.
 $ git show v.3.0  
 tag v.3.0  
 Tagger: Douglas Romero <romero@dsromero.com.br>  
 Date:  Tue Oct 20 10:20:38 2015 -0200  
 Teste de Tags  
 commit 02215fdcd470b0c55bc8a1cb94cc56897e9bc892  
 Author: Douglas Romero <romero@dsromero.com.br>  
 Date:  Tue Oct 20 08:53:43 2015 -0200  
   Inserindo arquivo de ignore.#  
 diff --git a/.gitignore b/.gitignore  
 new file mode 100644  
 index 0000000..07cb108  
 --- /dev/null  
 +++ b/.gitignore  
 @@ -0,0 +1,2 @@  
 +TesteStoryBoard.xcodeproj/xcuserdata/  
 +TesteStoryBoard.xcodeproj/project.xcworkspace/xcuserdata/  
 diff --git a/TesteStoryBoard/Base.lproj/Main.storyboard b/TesteStoryBoard/Base.lproj/Main.storyboard  
 index 5482739..73b6efb 100755  
 --- a/TesteStoryBoard/Base.lproj/Main.storyboard  
 +++ b/TesteStoryBoard/Base.lproj/Main.storyboard  
 @@ -80,7 +80,7 @@  
              <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>  
              <subviews>  
                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" restorationIdentifier="sbSegundoLabel" text="Segunda Tela " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GKn-eI-peT">  
 -                <rect key="frame" x="29" y="101" width="108" height="21"/>  
 +                <rect key="frame" x="29" y="101" width="541" height="21"/>  
                  <fontDescription key="fontDescription" type="system" pointSize="17"/>  
                  <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>  
                  <nil key="highlightedColor"/>  

Criando Tags.
Utilizando o comando abaixo, criamos uma Tag anotada, utilizando o parametro -a, passando o nome da versão e o -m e em seguida a mensagem para a tag anotada.
Também pode-se criar tag sem esta anotação, chamada de Tag leve.
 $ git tag -a v.3.0 -m "Teste de Tags"  

Criando Tags de commits anteriores.
Vamos ver o log de commits de nossa aplicação.
 $ git log --oneline  
 02215fd Inserindo arquivo de ignore.#  
 d28226b Update TesteStoryBoardTests.m  
 81c3aa1 Merge branch 'master' of https://github.com/dsromerobr/TesteStoryBoard  
 55f8e2a Deletando arquivos de configuração de usuário. Ok.  
 aa3945a Commit com alterações do exemplo de GIT. Inclusão de uma property na primeira tela.  
 afb0c3e Create README.md  
 2128d14 Segunda Parte do Tutorial  
 7eda703 Initial Commit  

Queremos criar como sendo o primeiro commit a versão v.1.0, para isso pegamos o código de verificação do commit e fazemos o comando abaixo.
 $ git tag -a v.1.0 -m "Primeira versão do tutorial de trabalhando com StoryBoard" 7eda703   

A tag está criado para o nosso Initial Commit.
 $ git show v.1.0  
 tag v.1.0  
 Tagger: Douglas Romero <romero@dsromero.com.br>  
 Date:  Tue Oct 20 10:47:54 2015 -0200  
 Primeira versão do tutorial de trabalhando com StoryBoard  
 commit 7eda7033bcc848f39fc73f643a0b6babe153af3e  
 Author: Douglas Romero <douglasromero@macminiromero.local>  
 Date:  Mon Oct 5 17:25:22 2015 -0300  
   Initial Commit  

Compartilhando as Tags para o servidor remoto.
Por padrão, utilizando o comando git push, não manda as tags para o servidor remoto.
Utilizamos o comando git push, passando o servidor e o nome da tag, assim as tags serão transferidas para o servidor.
$ git push origin v.1.0  
 Counting objects: 1, done.  
 Writing objects: 100% (1/1), 202 bytes | 0 bytes/s, done.  
 Total 1 (delta 0), reused 0 (delta 0)  
 To https://github.com/dsromerobr/TesteStoryBoard.git  
  * [new tag]     v.1.0 -> v.1.0  
$ git push origin --tags  
 Counting objects: 2, done.  
 Delta compression using up to 8 threads.  
 Compressing objects: 100% (2/2), done.  
 Writing objects: 100% (2/2), 322 bytes | 0 bytes/s, done.  
 Total 2 (delta 0), reused 0 (delta 0)  
 To https://github.com/dsromerobr/TesteStoryBoard.git  
  * [new tag]     v.2.0 -> v.2.0  
  * [new tag]     v.3.0 -> v.3.0  

O segundo comando, passando o parametro --tags, manda todas as tags para o servidor remoto.
É isso Pessoal... agora sabemos como trabalhar com Tags. : )

Leia o terceiro artigo, trabalhando com branchs.

Nenhum comentário:

Postar um comentário

 

Sobre o Blog

Neste blog irei compartilhar as minhas experiências e observações. Os temas serão variados, mas com ênfase em tecnologia. Inscreva-se nos nossos canais para receber atualizações.