SlideShare a Scribd company logo
1 of 18
Download to read offline
Gitlab flow solo (pt-BR) 
Por @viniciusban Baseado em https://speakerdeck.com/ogom/gitlab-flow
Crie um projeto 
master 
$ git init . 
ou 
$ git clone <url_do_projeto_ja_existente> .
Uma dica 
use branches & tags 
$ git checkout -b PRODUCAO 
$ git checkout master
Crie um feature branch 
master 
feature 
Para cada funcionalidade que será desenvolvida 
$ git checkout -b minha_nova_funcionalidade
Faça commits 
master 
feature 
Quantos forem necessários 
$ git add meu_novo_programa.py 
$ git commit -m 'Essa funcionalidade eh muito boa'
Merge 
master 
feature 
Integre com o branch MASTER 
$ git checkout master 
$ git merge minha_nova_funcionalidade
Deploy 
producao 
master 
Integre MASTER → PRODUCAO. 
Crie uma tag. 
Faça deploy. 
v1.0 
servidor 
web 
deploy 
$ git checkout PRODUCAO 
$ git merge master 
$ git tag -a v1.0 -m 'Primeira versao de producao o/' 
$ rodar_meu_script_de_deploy
quando houver erro 
em produção...
Crie um branch 
producao 
correcao 
master 
Para corrigir o erro 
v1.0 
$ git checkout PRODUCAO 
$ git checkout -b CORRECAO
Faça commits 
producao 
correcao 
master 
No branch CORRECAO 
v1.0 
$ git add programa_com_erro.py 
$ git commit -m 'Pronto, consertei'
Deploy 
producao 
correcao 
master 
Integre CORRECAO → PRODUCAO. 
Crie uma tag. 
Faça deploy. 
v1.0 
servidor 
web deploy 
v1.0.1 
$ git checkout PRODUCAO 
$ git merge CORRECAO 
$ git tag -a v1.0.1 -m 'Corrigi aquele bug chato' 
$ rodar_meu_script_de_deploy
antes de continuar 
nova feature...
Merge 
producao 
master 
Integre PRODUCAO→ MASTER 
v1.0 
v1.0.1 
$ git checkout master 
$ git merge PRODUCAO
Merge 
producao 
master 
Integre PRODUCAO → MASTER 
v1.0 
v1.0.1 
MASTER, agora, tem 
a mesma correção 
que PRODUCAO
Por que branches? 
● Código antigo intacto até saber se o novo 
funciona 
● Produção separada do desenvolvimento e 
manutenção 
● Portanto: 
– Nunca commit direto em MASTER 
– Nunca commit direto em PRODUCAO 
– Só faça merge neles
Por que tags? 
● Para voltar versão facilmente 
– Apenas um git checkout <tag> 
– Rapidez e simplicidade em caso de emergência
Outra dica 
apague os branches 
antigos e sem uso 
$ git branch -d minha_antiga_funcionalidade
referência 
● https://speakerdeck.com/ogom/gitlab-flow

More Related Content

Similar to Gitlab flow solo (pt-BR)

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

Similar to Gitlab flow solo (pt-BR) (20)

Gitlab flow solo (minimo)
Gitlab flow solo (minimo)Gitlab flow solo (minimo)
Gitlab flow solo (minimo)
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
 
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
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
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)
 
Manage branchs using git bash
Manage branchs using git bashManage branchs using git bash
Manage branchs using git bash
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
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
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
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
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo 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
GitGit
Git
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git workshop
Git workshopGit workshop
Git workshop
 

Gitlab flow solo (pt-BR)

  • 1. Gitlab flow solo (pt-BR) Por @viniciusban Baseado em https://speakerdeck.com/ogom/gitlab-flow
  • 2. Crie um projeto master $ git init . ou $ git clone <url_do_projeto_ja_existente> .
  • 3. Uma dica use branches & tags $ git checkout -b PRODUCAO $ git checkout master
  • 4. Crie um feature branch master feature Para cada funcionalidade que será desenvolvida $ git checkout -b minha_nova_funcionalidade
  • 5. Faça commits master feature Quantos forem necessários $ git add meu_novo_programa.py $ git commit -m 'Essa funcionalidade eh muito boa'
  • 6. Merge master feature Integre com o branch MASTER $ git checkout master $ git merge minha_nova_funcionalidade
  • 7. Deploy producao master Integre MASTER → PRODUCAO. Crie uma tag. Faça deploy. v1.0 servidor web deploy $ git checkout PRODUCAO $ git merge master $ git tag -a v1.0 -m 'Primeira versao de producao o/' $ rodar_meu_script_de_deploy
  • 8. quando houver erro em produção...
  • 9. Crie um branch producao correcao master Para corrigir o erro v1.0 $ git checkout PRODUCAO $ git checkout -b CORRECAO
  • 10. Faça commits producao correcao master No branch CORRECAO v1.0 $ git add programa_com_erro.py $ git commit -m 'Pronto, consertei'
  • 11. Deploy producao correcao master Integre CORRECAO → PRODUCAO. Crie uma tag. Faça deploy. v1.0 servidor web deploy v1.0.1 $ git checkout PRODUCAO $ git merge CORRECAO $ git tag -a v1.0.1 -m 'Corrigi aquele bug chato' $ rodar_meu_script_de_deploy
  • 12. antes de continuar nova feature...
  • 13. Merge producao master Integre PRODUCAO→ MASTER v1.0 v1.0.1 $ git checkout master $ git merge PRODUCAO
  • 14. Merge producao master Integre PRODUCAO → MASTER v1.0 v1.0.1 MASTER, agora, tem a mesma correção que PRODUCAO
  • 15. Por que branches? ● Código antigo intacto até saber se o novo funciona ● Produção separada do desenvolvimento e manutenção ● Portanto: – Nunca commit direto em MASTER – Nunca commit direto em PRODUCAO – Só faça merge neles
  • 16. Por que tags? ● Para voltar versão facilmente – Apenas um git checkout <tag> – Rapidez e simplicidade em caso de emergência
  • 17. Outra dica apague os branches antigos e sem uso $ git branch -d minha_antiga_funcionalidade