SlideShare a Scribd company logo
1 of 51
Download to read offline
Superando o GitFlow
Workflow de git focado na entrega de valor em outsourcing
com equipes distribuídas.
Luiz Guerra
luiz.guerra@taller.net.br
Renato Reva Gomes
renato@taller.net.br
Gitflow
master
release
development
feature 1
feature 2
feature 3
1.0
Gitflow
master
release
development
1.0
hotfix
1.1
Contexto de Trabalho
/Necessidades
● Equipe distribuída
● Equipe distribuída
● Fluxo contínuo/kanban
● Equipe distribuída
● Fluxo contínuo/kanban
● CI&CD
● Equipe distribuída
● Fluxo contínuo/kanban
● CI&CD
● Independência entre features
● Equipe distribuída
● Fluxo contínuo/kanban
● CI&CD
● Independência entre features
● Feedback constante
Problemas
Enfrentados
● Conflitos inesperados
● Conflitos inesperados
● Imprevisibilidade na integração
● Conflitos inesperados
● Imprevisibilidade na integração
● Dificuldade em entregar demandas isoladas
● Conflitos inesperados
● Imprevisibilidade na integração
● Dificuldade em entregar demandas isoladas
● Complexidade da árvore
tig
● Conflitos inesperados
● Imprevisibilidade na integração
● Dificuldade em entregar demandas isoladas
● Complexidade da árvore
● Merge commit
M
Estratégias
Adotadas
● Criar branches a partir do branch master
git checkout -b MY-FEATURE
master
development
feature
● Criar branches a partir do branch master
● Branch auxiliar
git checkout -b MY-FEATURE-dev
● Criar branches a partir do branch master
● Branch auxiliar
● Rebase antes de fazer merge
git fetch
git rebase origin/dev
● Criar branches a partir do branch master
● Branch auxiliar
● Rebase antes de fazer merge
● Reset em relação ao origin branch
git checkout dev
git reset --hard origin/dev
git merge MY-FEATURE-dev
● Criar branches a partir do branch master
● Branch auxiliar
● Rebase antes de fazer merge
● Reset em relação ao origin branch
● Atualização constante com relação ao branch master
git fetch
git rebase origin/master
git push origin MY-FEATURE -f
Dicas e Boas
Práticas
● Voltar o comando
git reflog
git reset --hard HEAD@{1}
● Voltar o comando
● Resolução de conflito sem abrir o arquivo
git checkout [--ours || --theirs]
git add -u
git rebase [--continue || --skip]
● Voltar o comando
● Resolução de conflito sem abrir o arquivo
● Resetar branches de integração
git reset --hard origin/master
● Voltar o comando
● Resolução de conflito sem abrir o arquivo
● Resetar branches de integração
● Evitar resolução repetida de conflitos
rerere
rerere
Reuse Recorded Resolution
git config --global rerere.enabled true
● Voltar o comando
● Resolução de conflito sem abrir o arquivo
● Resetar branches de integração
● Evitar resolução repetida de conflitos
● Pull com rebase
git pull --rebase
git config --global pull.rebase true
Muito obrigado!

More Related Content

Viewers also liked

Drawing final project studio unit living_july 2015 (1)
Drawing final project studio unit living_july 2015 (1)Drawing final project studio unit living_july 2015 (1)
Drawing final project studio unit living_july 2015 (1)Flenny Wong
 
4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...
4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...
4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...Driven Inc.
 
5 Best Practices to Achieve Operational Excellence with Hive and MapReduce
5 Best Practices to Achieve Operational Excellence with Hive and MapReduce5 Best Practices to Achieve Operational Excellence with Hive and MapReduce
5 Best Practices to Achieve Operational Excellence with Hive and MapReduceDriven Inc.
 
Enbe final booklet
Enbe final bookletEnbe final booklet
Enbe final bookletFlenny Wong
 
Anthony wettstaedt
Anthony wettstaedtAnthony wettstaedt
Anthony wettstaedtAntGmoney
 
5 Best Practices to Achieve Operational Excellence with Big Data Apps
5 Best Practices to Achieve Operational Excellence with Big Data Apps5 Best Practices to Achieve Operational Excellence with Big Data Apps
5 Best Practices to Achieve Operational Excellence with Big Data AppsDriven Inc.
 
Oral presentation-august2015
Oral presentation-august2015Oral presentation-august2015
Oral presentation-august2015Flenny Wong
 
Downtown kuching-1
Downtown kuching-1Downtown kuching-1
Downtown kuching-1Flenny Wong
 
Presentation2 iico
Presentation2 iicoPresentation2 iico
Presentation2 iicoFlenny Wong
 
Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)Flenny Wong
 
Itd orthographic drawings
Itd orthographic drawingsItd orthographic drawings
Itd orthographic drawingsFlenny Wong
 
Product life cycle
Product life cycleProduct life cycle
Product life cyclekanika garg
 
5 Best Practices for Monitoring Hive and MapReduce Application Performance
5 Best Practices for Monitoring Hive and MapReduce Application Performance5 Best Practices for Monitoring Hive and MapReduce Application Performance
5 Best Practices for Monitoring Hive and MapReduce Application PerformanceDriven Inc.
 

Viewers also liked (16)

Drawing final project studio unit living_july 2015 (1)
Drawing final project studio unit living_july 2015 (1)Drawing final project studio unit living_july 2015 (1)
Drawing final project studio unit living_july 2015 (1)
 
4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...
4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...
4 Best Practices to Achieve Operational Excellence Across Multiple Big Data T...
 
Edawd
EdawdEdawd
Edawd
 
english essay
english essay english essay
english essay
 
5 Best Practices to Achieve Operational Excellence with Hive and MapReduce
5 Best Practices to Achieve Operational Excellence with Hive and MapReduce5 Best Practices to Achieve Operational Excellence with Hive and MapReduce
5 Best Practices to Achieve Operational Excellence with Hive and MapReduce
 
Enbe final booklet
Enbe final bookletEnbe final booklet
Enbe final booklet
 
Anthony wettstaedt
Anthony wettstaedtAnthony wettstaedt
Anthony wettstaedt
 
5 Best Practices to Achieve Operational Excellence with Big Data Apps
5 Best Practices to Achieve Operational Excellence with Big Data Apps5 Best Practices to Achieve Operational Excellence with Big Data Apps
5 Best Practices to Achieve Operational Excellence with Big Data Apps
 
Oral presentation-august2015
Oral presentation-august2015Oral presentation-august2015
Oral presentation-august2015
 
Downtown kuching-1
Downtown kuching-1Downtown kuching-1
Downtown kuching-1
 
Presentation2 iico
Presentation2 iicoPresentation2 iico
Presentation2 iico
 
Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)
 
Itd orthographic drawings
Itd orthographic drawingsItd orthographic drawings
Itd orthographic drawings
 
Product life cycle
Product life cycleProduct life cycle
Product life cycle
 
Project 2
Project 2Project 2
Project 2
 
5 Best Practices for Monitoring Hive and MapReduce Application Performance
5 Best Practices for Monitoring Hive and MapReduce Application Performance5 Best Practices for Monitoring Hive and MapReduce Application Performance
5 Best Practices for Monitoring Hive and MapReduce Application Performance
 

Similar to Drupal camp campinas 2016 superando o gitflow (luiz henrique guerra)

Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
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
 
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
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e GitIgor Steinmacher
 
MINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIAMINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIAArmando Couto
 
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
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoFabricio Nogueira
 

Similar to Drupal camp campinas 2016 superando o gitflow (luiz henrique guerra) (20)

Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
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
 
Git Workflow
Git WorkflowGit Workflow
Git Workflow
 
Git
GitGit
Git
 
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
GitGit
Git
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git
GitGit
Git
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
MINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIAMINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIA
 
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
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git
GitGit
Git
 
Git workshop
Git workshopGit workshop
Git workshop
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Git 101
Git 101Git 101
Git 101
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 

Drupal camp campinas 2016 superando o gitflow (luiz henrique guerra)