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

What's hot

Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Noa Harel
 
Version control system
Version control systemVersion control system
Version control systemAryman Gautam
 
딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류
딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류
딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류ssuserdff4c9
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)Rodrigo Vieira
 
Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석용 최
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기 Yong Joon Moon
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...SlideTeam
 
Agile Fluency Workshop in NYC Scrum User Group
Agile Fluency Workshop in NYC Scrum User GroupAgile Fluency Workshop in NYC Scrum User Group
Agile Fluency Workshop in NYC Scrum User GroupAnil Jaising
 
Project report AB testing
Project report AB testingProject report AB testing
Project report AB testingSruti Jain
 
웹 접근성 평가도구 OpenWAX 뜯어보기
웹 접근성 평가도구 OpenWAX 뜯어보기웹 접근성 평가도구 OpenWAX 뜯어보기
웹 접근성 평가도구 OpenWAX 뜯어보기Goonoo Kim
 
Developer Experience no Nubank
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no NubankLetticia Nicoli
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오Jonguk Kim
 
Developing a Product Roadmap - Workshop
Developing a Product Roadmap - WorkshopDeveloping a Product Roadmap - Workshop
Developing a Product Roadmap - WorkshopSaad Benryane
 

What's hot (20)

Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Day in the life of product manager
Day in the life of product managerDay in the life of product manager
Day in the life of product manager
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 
Version control system
Version control systemVersion control system
Version control system
 
딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류
딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류
딥러닝 모델을 이용한 반도체 웨이퍼 가공 불량 타입 분류
 
Jenkins pipeline
Jenkins pipelineJenkins pipeline
Jenkins pipeline
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)
 
Belajar Dasar-Dasar GIT
Belajar Dasar-Dasar GITBelajar Dasar-Dasar GIT
Belajar Dasar-Dasar GIT
 
Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석
 
Mapa de Historias de Usuario - User Story Map
Mapa de Historias de Usuario - User Story MapMapa de Historias de Usuario - User Story Map
Mapa de Historias de Usuario - User Story Map
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기
 
Understanding MLOps
Understanding MLOpsUnderstanding MLOps
Understanding MLOps
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
 
Agile Fluency Workshop in NYC Scrum User Group
Agile Fluency Workshop in NYC Scrum User GroupAgile Fluency Workshop in NYC Scrum User Group
Agile Fluency Workshop in NYC Scrum User Group
 
Project report AB testing
Project report AB testingProject report AB testing
Project report AB testing
 
웹 접근성 평가도구 OpenWAX 뜯어보기
웹 접근성 평가도구 OpenWAX 뜯어보기웹 접근성 평가도구 OpenWAX 뜯어보기
웹 접근성 평가도구 OpenWAX 뜯어보기
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Developer Experience no Nubank
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no Nubank
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오
 
Developing a Product Roadmap - Workshop
Developing a Product Roadmap - WorkshopDeveloping a Product Roadmap - Workshop
Developing a Product Roadmap - Workshop
 

Similar to Gitlab flow solo (pt-BR)

Gitlab flow solo (minimo)
Gitlab flow solo (minimo)Gitlab flow solo (minimo)
Gitlab flow solo (minimo)viniciusban
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
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 2019Tchelinux
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 
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 FlowLucas Araújo Mezêncio
 
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)Carlos Duarte do Nascimento
 
Manage branchs using git bash
Manage branchs using git bashManage branchs using git bash
Manage branchs using git bashAgni Campos
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
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 errarBruno Calheira
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta gitDiogo Souza Machado
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
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ânticoDjanilson Alves
 
Git workshop
Git workshopGit workshop
Git workshopYuri Reis
 

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