SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
GIT: O Commit, o Fluxo e a Tag
Métodos para um bom repositório
André Gumieri <andre.gumieri@gumini.com.br>
Why, God, WHY!?
1. Bater o olho e já saber de tudo
2. Entender os porquês por trás das modificações
3. Rollbacks nunca foram tão fáceis
4. Padrão = Pensar menos
$ git clone git@github.com:guminidigital/projeto-deus-me-livre.git
A vida depois do clone
$ git branch -a
Em qual branch devo trabalhar?
dev
dev_20150513
dev_new
joao_dev_2012
fix
fix2
homolog_marco_2016
* master
$ git log -- arquivo.js
Por que modificaram tal coisa no arquivo.js?
commit 7c8f92ea525af7a5d65cb2f5a4ea20ee75f1575f
Author: Walter White <wwhite@gmail.com>
Date: Mon Jul 25 19:55:22 2016 -0300
Solicitações cliente
commit 87ba74f4b29cdc61a0a02e75120a0f3d50cca627
Author: Jesse Pinkman <yo_bitch@outlook.com>
Date: Mon Jul 25 19:55:14 2016 -0300
QA
commit ff393e464f5e6bbef30c5674abe17af8385215f7
Author: Jesse Pinkman <yo_bitch@outlook.com>
Date: Mon Jul 25 19:54:36 2016 -0300
.
commit c5e33c6dfa19df5f32d5b129d06d04df9e971041
Author: Joey Tribbiani <jtribbiani@yahoo.com>
Date: Mon Jul 25 19:54:28 2016 -0300
Ajustes
commit f84e7dcbbd3da416c8b19e5ddb8b05deb084b57b
Author: Walter White <wwhite@gmail.com>
Date: Mon Jul 25 19:54:15 2016 -0300
Ajustes na home
$ git tag
Deu ruim! Pra qual versão faço rollback?
teste_tag
prod-20120305
prod-20120305-2
tira-jquery
git-flow
Organizando a zona com
• Organiza o ciclo de vida do projeto no GIT
• Fica fácil de identificar a situação do repositório
• Tem bastante material on-line
• Todo mundo usa, recuse imitações
MASTERDEVELOPFEATURES RELEASE HOTFIX
5 TRILHAS PRINCIPAIS
MASTERDEVELOPFEATURES RELEASE HOTFIX
2 FIXAS
MASTERDEVELOPFEATURES RELEASE HOTFIX
3 DE APOIO
MASTERDEVELOPFEATURES RELEASE HOTFIX
- Máquina do DEV
- Pequenos recursos
- Nasce de develop
- Trilha principal
- Sempre a frente 

da master
- Aqui não se faz commit
- Trilha pré-produção
- QA
- Ambiente de homolog
- Trilha de produção
- Aqui não se faz commit
- Ambiente de produção
- Sempre com TAG 

de versão
- Ajustes da versão em

produção
- Nasce da master
MASTERDEVELOPFEATURES RELEASE HOTFIX
create branch
merge nas trilhas fixas
merge de atualização
LEGENDA
1.0.0
1.0.1
1.0.0-rc1
1.0.0-rc2
1.1.0-rc1
1.1.0
1.1.0-rc2
release/1.0.0
release/1.1.0
hotfix
Commit bem formatado
Deixando tudo bonito com um
Fix #123: Altera cor do botão finalizar
Foi adicionada uma classe modificadora
.finalizar dentro de .btn
Mensagem
Corpo
corrige cor dos links. remove cores do sass
Texto começa com letra maíuscula.
Commits também.
Corrige cor dos links. Remove cores do SASS
Deixar uma linha de espaço entre
a mensagem e o corpo. E uma linha
de espaço entre parágrafos.
SEPARADÃO TUDO JUNTO
3
2
1
Aqui é só a descrição
E aqui é o ~textão~ que vai explicar
tintin por tintin o que foi feito nesse
commit organizadão!
Aqui tem outro parágrafo! Essa quebra de
linha extra aí deixa tudo mais claro.
Aqui é só a descrição
E aqui é o ~textão~ que vai explicar
tintin por tintin o que foi feito nesse
commit organizadão!
Aqui tem outro parágrafo! Essa quebra de
linha extra aí deixa tudo mais claro.
Aqui é só a descrição
E aqui é o ~textão~ que vai explicar
tintin por tintin o que foi feito nesse
commit organizadão!
Aqui tem outro parágrafo! Essa quebra de
linha extra aí deixa tudo mais claro.
Aqui é só a descrição
E aqui é o ~textão~ que vai explicar
tintin por tintin o que foi feito nesse
commit organizadão!
Aqui tem outro parágrafo! Essa quebra de
linha extra aí deixa tudo mais claro.
SEPARADÃO

WINS!
O motivo dessa regra pode até parecer frescura de alguém cagando regra, mas a real é que ninguém gosta de ler texto com umas puta linhas longas
Mensagem e corpo devem ser curtos.
~70 caracteres é um bom tamanho.
Passou disso, quebra a linha.
O Que, Como e Por quê.
Os melhores commits dizem
Por quê precisa deste commit?
O que este commit faz?
Como este commit resolve o problema?
Corrige falhas na home
Durante o desenvolvimento, foram encontradas
falhas graves na home:
- Menu estava desalinhado
- Delay do slider estava rápido
- Fonte é Futura, não helvetica
O que?
Por quê?
$ git show 9d32dac08c47f52a2b15a2b4298865448efe5bcf


diff --git a/menu.less b/menu.less
@@ -129,6 +129,18 @@
.menu{
- top: 13px;
+ top: 17px;
}
diff --git a/slider.js b/slider.js
@@ -129,6 +129,18 @@
var confSlider = {
- delay: 500;
+ delay: 5000;
}
diff --git a/base.less b/base.less
@@ -129,6 +129,18 @@
body {
- font-family: Sans-serif;
+ font-family: @font-futura;
}
Como?
Fix #123: Altera cor do botão finalizar
Foi adicionada uma classe modificadora
.finalizar dentro de .btn
O que?Por quê?
Como?
$ git show 9d32dac08c47f52a2b15a2b4298865448efe5bcf


diff --git a/quem-somos.html b/quem-somos.html
new file mode 100644

index 0000000..e9bc1b6
--- /dev/null
+++ b/quem-somos.html
@@ -0,0 +1,10 @@
+ <!DOCTYPE html>
+ <html>
+ <head>

+ <title>Quem Somos</title>
+ </head>
+ <body>
...
+ </body>
+ </html>
Por quê?
Adiciona página quem somos
O que?
Como?
Implicito. É claro o motivo
de estar adicionando uma
nova página
Pensar a mensagem do commit
é o novo pensar no nome da variável
Deixa eu escrever do meu jeito.
Não me enche o saco.
Padrão = Pensar menos.
Precisa ser curto, mas tem que falar tudo.
A mensagem deve ser imperativa.
O commit fala o que fazer quando for aplicado.
A mensagem de commit deve completar a frase
Quando aplicado, este commit…
... Muda cor dos links
... Torna dinâmica a página de quem somos
... Resolve #123: Quebra de layout nos serviços
... Adiciona página de contato
... Altera a URL de Serviços
... Atualiza o banco de dados
... Corrige tamanho do box de contato
Parece bizarro. Mas o GIT mesmo faz isso:
If applied, this commit will…
... Merge branch ‘staging’ into develop
... Revert "Add the thing with the stuff"
Commits em inglês, “pode to be”?
if (openSource || clienteGringo || padraoDoRepo==‘en’) {
lang = ‘en-US’;
} else {
lang = ‘pt-BR’;
}
Tags e versões
Marcando seu lugar no espaço tempo com
• Momentos do repositório. Release, por exemplo.
• Padrão semântico: semver.org
• Amplamente utilizado ~nas web~
• O favorito do NPM, Bower, GEM, PIP, Composer…
4 2 5. .
4
MAJOR MINOR PATCH
2 5. .
4
MAJOR MINOR PATCH
2 5. .Mudanças que não
mantém compatibilidade
com a versão anterior
Release de pacote de
features em produção
Correções do software
já em produção
2 5.
E se eu quiser fazer tag de homologação?
-rc1
Conheça o release candidate
$ git push origin 1.0.0-rc1
$ git tag 1.0.0-rc1
Tag no último commit
$ git tag 1.0.0-rc1 f84e7dcbbd3da416c8b19e5ddb8b05deb084b57b
Tag em um commit específico
Assim como branchs, tags são locais
1.1.0-rc1
A tag não se relaciona com o branch,
apenas com o commit.
1.0.0
1.0.1
branch-a branch-b branch-c
$ git clone git@github.com:guminidigital/projeto-vem-ni-mim.git
A nova vida depois do clone
$ git branch -a
Em qual branch devo trabalhar?
develop
release/1.1.0
hotfix/1.0.1
feature/facelift-menu
* master
$ git log -- arquivo.js
Por que modificaram tal coisa no arquivo.js?
commit 7c8f92ea525af7a5d65cb2f5a4ea20ee75f1575f
Author: Walter White <wwhite@gmail.com>
Date: Mon Jul 25 19:55:22 2016 -0300
Modifica tal coisa que quebrava negócio
Quando negócio se comportava de tal forma,
tal coisa gerava incompatibilidade e fazia
negócio quebrar.
Tal coisa foi substituido por treco para
solucionar o problema.
commit 87ba74f4b29cdc61a0a02e75120a0f3d50cca627
Author: Jesse Pinkman <yo_bitch@outlook.com>
Date: Mon Jul 25 19:55:14 2016 -0300
Fix #123: Cor de tal coisa em vermelho
commit ff393e464f5e6bbef30c5674abe17af8385215f7
Author: Jesse Pinkman <yo_bitch@outlook.com>
Date: Mon Jul 25 19:54:36 2016 -0300
Adiciona tal coisa
$ git tag
Deu ruim! Pra qual versão faço rollback?
1.0.0-rc1
1.0.0-rc2
1.0.0
1.0.1
1.0.2
1.1.0
1.1.1
1.1.2
1.1.3
GIT: O Commit, o Fluxo e a Tag

Weitere ähnliche Inhalte

Andere mochten auch

VirtualReality_Sindhoora_Kartik
VirtualReality_Sindhoora_KartikVirtualReality_Sindhoora_Kartik
VirtualReality_Sindhoora_Kartik
Kartik Arora
 
Teen cognition and learning chapter 2
Teen cognition and learning chapter 2Teen cognition and learning chapter 2
Teen cognition and learning chapter 2
ericortiz24
 

Andere mochten auch (13)

VirtualReality_Sindhoora_Kartik
VirtualReality_Sindhoora_KartikVirtualReality_Sindhoora_Kartik
VirtualReality_Sindhoora_Kartik
 
security resume
security resumesecurity resume
security resume
 
GALLERY@LOOM 2016 call for photography
GALLERY@LOOM 2016 call for photographyGALLERY@LOOM 2016 call for photography
GALLERY@LOOM 2016 call for photography
 
Teen cognition and learning chapter 2
Teen cognition and learning chapter 2Teen cognition and learning chapter 2
Teen cognition and learning chapter 2
 
GO GREENN GET GREEN
GO GREENN GET GREENGO GREENN GET GREEN
GO GREENN GET GREEN
 
JSR82: Past, Present and Future
JSR82: Past, Present and FutureJSR82: Past, Present and Future
JSR82: Past, Present and Future
 
Learning styles
Learning stylesLearning styles
Learning styles
 
Creating a Delivery Unit at Government Level
Creating a Delivery Unit at Government Level Creating a Delivery Unit at Government Level
Creating a Delivery Unit at Government Level
 
Usman Butt
Usman ButtUsman Butt
Usman Butt
 
Relationship
RelationshipRelationship
Relationship
 
Dual converter
Dual converterDual converter
Dual converter
 
Top Team Alignment
Top Team AlignmentTop Team Alignment
Top Team Alignment
 
Articles
ArticlesArticles
Articles
 

Ähnlich wie GIT: O Commit, o Fluxo e a Tag

Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
Raphael Cruzeiro
 

Ähnlich wie GIT: O Commit, o Fluxo e a Tag (20)

Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
git fail --force (faça as pazes com seus pull requests)
git fail --force (faça as pazes com seus pull requests)git fail --force (faça as pazes com seus pull requests)
git fail --force (faça as pazes com seus pull requests)
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
 
Git para Principiantes - Fabio Beneditto - Tchelinux Caxias 2018
Git para Principiantes -  Fabio Beneditto - Tchelinux Caxias 2018Git para Principiantes -  Fabio Beneditto - Tchelinux Caxias 2018
Git para Principiantes - Fabio Beneditto - Tchelinux Caxias 2018
 
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Git 101
Git 101Git 101
Git 101
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
GIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoGIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento Semântico
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazViajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 

GIT: O Commit, o Fluxo e a Tag

  • 1. GIT: O Commit, o Fluxo e a Tag Métodos para um bom repositório André Gumieri <andre.gumieri@gumini.com.br>
  • 2. Why, God, WHY!? 1. Bater o olho e já saber de tudo 2. Entender os porquês por trás das modificações 3. Rollbacks nunca foram tão fáceis 4. Padrão = Pensar menos
  • 3. $ git clone git@github.com:guminidigital/projeto-deus-me-livre.git A vida depois do clone
  • 4. $ git branch -a Em qual branch devo trabalhar?
  • 6. $ git log -- arquivo.js Por que modificaram tal coisa no arquivo.js?
  • 7. commit 7c8f92ea525af7a5d65cb2f5a4ea20ee75f1575f Author: Walter White <wwhite@gmail.com> Date: Mon Jul 25 19:55:22 2016 -0300 Solicitações cliente commit 87ba74f4b29cdc61a0a02e75120a0f3d50cca627 Author: Jesse Pinkman <yo_bitch@outlook.com> Date: Mon Jul 25 19:55:14 2016 -0300 QA commit ff393e464f5e6bbef30c5674abe17af8385215f7 Author: Jesse Pinkman <yo_bitch@outlook.com> Date: Mon Jul 25 19:54:36 2016 -0300 . commit c5e33c6dfa19df5f32d5b129d06d04df9e971041 Author: Joey Tribbiani <jtribbiani@yahoo.com> Date: Mon Jul 25 19:54:28 2016 -0300 Ajustes commit f84e7dcbbd3da416c8b19e5ddb8b05deb084b57b Author: Walter White <wwhite@gmail.com> Date: Mon Jul 25 19:54:15 2016 -0300 Ajustes na home
  • 8. $ git tag Deu ruim! Pra qual versão faço rollback?
  • 11. • Organiza o ciclo de vida do projeto no GIT • Fica fácil de identificar a situação do repositório • Tem bastante material on-line • Todo mundo usa, recuse imitações
  • 15. MASTERDEVELOPFEATURES RELEASE HOTFIX - Máquina do DEV - Pequenos recursos - Nasce de develop - Trilha principal - Sempre a frente 
 da master - Aqui não se faz commit - Trilha pré-produção - QA - Ambiente de homolog - Trilha de produção - Aqui não se faz commit - Ambiente de produção - Sempre com TAG 
 de versão - Ajustes da versão em
 produção - Nasce da master
  • 16. MASTERDEVELOPFEATURES RELEASE HOTFIX create branch merge nas trilhas fixas merge de atualização LEGENDA 1.0.0 1.0.1 1.0.0-rc1 1.0.0-rc2 1.1.0-rc1 1.1.0 1.1.0-rc2 release/1.0.0 release/1.1.0 hotfix
  • 17. Commit bem formatado Deixando tudo bonito com um
  • 18. Fix #123: Altera cor do botão finalizar Foi adicionada uma classe modificadora .finalizar dentro de .btn Mensagem Corpo
  • 19. corrige cor dos links. remove cores do sass Texto começa com letra maíuscula. Commits também. Corrige cor dos links. Remove cores do SASS
  • 20. Deixar uma linha de espaço entre a mensagem e o corpo. E uma linha de espaço entre parágrafos.
  • 22. 3
  • 23. 2
  • 24. 1
  • 25.
  • 26. Aqui é só a descrição E aqui é o ~textão~ que vai explicar tintin por tintin o que foi feito nesse commit organizadão! Aqui tem outro parágrafo! Essa quebra de linha extra aí deixa tudo mais claro. Aqui é só a descrição E aqui é o ~textão~ que vai explicar tintin por tintin o que foi feito nesse commit organizadão! Aqui tem outro parágrafo! Essa quebra de linha extra aí deixa tudo mais claro.
  • 27. Aqui é só a descrição E aqui é o ~textão~ que vai explicar tintin por tintin o que foi feito nesse commit organizadão! Aqui tem outro parágrafo! Essa quebra de linha extra aí deixa tudo mais claro. Aqui é só a descrição E aqui é o ~textão~ que vai explicar tintin por tintin o que foi feito nesse commit organizadão! Aqui tem outro parágrafo! Essa quebra de linha extra aí deixa tudo mais claro. SEPARADÃO WINS!
  • 28. O motivo dessa regra pode até parecer frescura de alguém cagando regra, mas a real é que ninguém gosta de ler texto com umas puta linhas longas Mensagem e corpo devem ser curtos. ~70 caracteres é um bom tamanho. Passou disso, quebra a linha.
  • 29. O Que, Como e Por quê. Os melhores commits dizem
  • 30. Por quê precisa deste commit? O que este commit faz? Como este commit resolve o problema?
  • 31. Corrige falhas na home Durante o desenvolvimento, foram encontradas falhas graves na home: - Menu estava desalinhado - Delay do slider estava rápido - Fonte é Futura, não helvetica O que? Por quê? $ git show 9d32dac08c47f52a2b15a2b4298865448efe5bcf 
 diff --git a/menu.less b/menu.less @@ -129,6 +129,18 @@ .menu{ - top: 13px; + top: 17px; } diff --git a/slider.js b/slider.js @@ -129,6 +129,18 @@ var confSlider = { - delay: 500; + delay: 5000; } diff --git a/base.less b/base.less @@ -129,6 +129,18 @@ body { - font-family: Sans-serif; + font-family: @font-futura; } Como?
  • 32. Fix #123: Altera cor do botão finalizar Foi adicionada uma classe modificadora .finalizar dentro de .btn O que?Por quê? Como?
  • 33. $ git show 9d32dac08c47f52a2b15a2b4298865448efe5bcf 
 diff --git a/quem-somos.html b/quem-somos.html new file mode 100644
 index 0000000..e9bc1b6 --- /dev/null +++ b/quem-somos.html @@ -0,0 +1,10 @@ + <!DOCTYPE html> + <html> + <head>
 + <title>Quem Somos</title> + </head> + <body> ... + </body> + </html> Por quê? Adiciona página quem somos O que? Como? Implicito. É claro o motivo de estar adicionando uma nova página
  • 34. Pensar a mensagem do commit é o novo pensar no nome da variável
  • 35. Deixa eu escrever do meu jeito. Não me enche o saco. Padrão = Pensar menos.
  • 36. Precisa ser curto, mas tem que falar tudo. A mensagem deve ser imperativa. O commit fala o que fazer quando for aplicado.
  • 37. A mensagem de commit deve completar a frase Quando aplicado, este commit… ... Muda cor dos links ... Torna dinâmica a página de quem somos ... Resolve #123: Quebra de layout nos serviços ... Adiciona página de contato ... Altera a URL de Serviços ... Atualiza o banco de dados ... Corrige tamanho do box de contato
  • 38. Parece bizarro. Mas o GIT mesmo faz isso: If applied, this commit will… ... Merge branch ‘staging’ into develop ... Revert "Add the thing with the stuff"
  • 39. Commits em inglês, “pode to be”? if (openSource || clienteGringo || padraoDoRepo==‘en’) { lang = ‘en-US’; } else { lang = ‘pt-BR’; }
  • 40. Tags e versões Marcando seu lugar no espaço tempo com
  • 41. • Momentos do repositório. Release, por exemplo. • Padrão semântico: semver.org • Amplamente utilizado ~nas web~ • O favorito do NPM, Bower, GEM, PIP, Composer…
  • 42. 4 2 5. .
  • 44. 4 MAJOR MINOR PATCH 2 5. .Mudanças que não mantém compatibilidade com a versão anterior Release de pacote de features em produção Correções do software já em produção
  • 45. 2 5. E se eu quiser fazer tag de homologação? -rc1 Conheça o release candidate
  • 46. $ git push origin 1.0.0-rc1 $ git tag 1.0.0-rc1 Tag no último commit $ git tag 1.0.0-rc1 f84e7dcbbd3da416c8b19e5ddb8b05deb084b57b Tag em um commit específico Assim como branchs, tags são locais
  • 47. 1.1.0-rc1 A tag não se relaciona com o branch, apenas com o commit. 1.0.0 1.0.1 branch-a branch-b branch-c
  • 48. $ git clone git@github.com:guminidigital/projeto-vem-ni-mim.git A nova vida depois do clone
  • 49. $ git branch -a Em qual branch devo trabalhar?
  • 51. $ git log -- arquivo.js Por que modificaram tal coisa no arquivo.js?
  • 52. commit 7c8f92ea525af7a5d65cb2f5a4ea20ee75f1575f Author: Walter White <wwhite@gmail.com> Date: Mon Jul 25 19:55:22 2016 -0300 Modifica tal coisa que quebrava negócio Quando negócio se comportava de tal forma, tal coisa gerava incompatibilidade e fazia negócio quebrar. Tal coisa foi substituido por treco para solucionar o problema. commit 87ba74f4b29cdc61a0a02e75120a0f3d50cca627 Author: Jesse Pinkman <yo_bitch@outlook.com> Date: Mon Jul 25 19:55:14 2016 -0300 Fix #123: Cor de tal coisa em vermelho commit ff393e464f5e6bbef30c5674abe17af8385215f7 Author: Jesse Pinkman <yo_bitch@outlook.com> Date: Mon Jul 25 19:54:36 2016 -0300 Adiciona tal coisa
  • 53. $ git tag Deu ruim! Pra qual versão faço rollback?