SlideShare a Scribd company logo
1 of 51
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

Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Taller Negócio Digitais
 
Programação Eficaz - Agile Trends Floripa 2016
Programação Eficaz -  Agile Trends Floripa 2016Programação Eficaz -  Agile Trends Floripa 2016
Programação Eficaz - Agile Trends Floripa 2016Taller Negócio Digitais
 
A importância da Transparência na cultura ágil
A importância da Transparência na cultura ágilA importância da Transparência na cultura ágil
A importância da Transparência na cultura ágilTaller Negócio Digitais
 
Kanban no fluxo único de portfolio de projetos
Kanban no fluxo único de portfolio de projetosKanban no fluxo único de portfolio de projetos
Kanban no fluxo único de portfolio de projetosTaller Negócio Digitais
 
Trabalhando a cultura do feedback. Por onde começar?
Trabalhando a cultura do feedback. Por onde começar?Trabalhando a cultura do feedback. Por onde começar?
Trabalhando a cultura do feedback. Por onde começar?Taller Negócio Digitais
 
A importância da transparência na cultura ágil - 2º Agile Floripa
A importância da transparência na cultura ágil - 2º Agile FloripaA importância da transparência na cultura ágil - 2º Agile Floripa
A importância da transparência na cultura ágil - 2º Agile FloripaTaller Negócio Digitais
 
Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016
Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016
Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016Taller Negócio Digitais
 
Implementando o Desenvolvimento Lean de Software - Do conceito ao dinheiro
Implementando o Desenvolvimento Lean de Software - Do conceito ao dinheiroImplementando o Desenvolvimento Lean de Software - Do conceito ao dinheiro
Implementando o Desenvolvimento Lean de Software - Do conceito ao dinheiroTaller Negócio Digitais
 
Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016
Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016
Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016Taller Negócio Digitais
 

Viewers also liked (10)

Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
 
Programação Eficaz - Agile Trends Floripa 2016
Programação Eficaz -  Agile Trends Floripa 2016Programação Eficaz -  Agile Trends Floripa 2016
Programação Eficaz - Agile Trends Floripa 2016
 
A importância da Transparência na cultura ágil
A importância da Transparência na cultura ágilA importância da Transparência na cultura ágil
A importância da Transparência na cultura ágil
 
Kanban no fluxo único de portfolio de projetos
Kanban no fluxo único de portfolio de projetosKanban no fluxo único de portfolio de projetos
Kanban no fluxo único de portfolio de projetos
 
Trabalhando a cultura do feedback. Por onde começar?
Trabalhando a cultura do feedback. Por onde começar?Trabalhando a cultura do feedback. Por onde começar?
Trabalhando a cultura do feedback. Por onde começar?
 
A importância da transparência na cultura ágil - 2º Agile Floripa
A importância da transparência na cultura ágil - 2º Agile FloripaA importância da transparência na cultura ágil - 2º Agile Floripa
A importância da transparência na cultura ágil - 2º Agile Floripa
 
Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016
Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016
Kanban no Fluxo Unificado de Portfolio de Projetos - Agile Brazil 2016
 
Implementando o Desenvolvimento Lean de Software - Do conceito ao dinheiro
Implementando o Desenvolvimento Lean de Software - Do conceito ao dinheiroImplementando o Desenvolvimento Lean de Software - Do conceito ao dinheiro
Implementando o Desenvolvimento Lean de Software - Do conceito ao dinheiro
 
Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016
Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016
Kanban no Fluxo Único - sessão Show me your board, Agile Trends 2016
 
Lean Branding
Lean BrandingLean Branding
Lean Branding
 

Similar to Superando o GitFlow - DrupalCamp Campinas 2016

Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
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
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
Versionamento Ágil com Git
Versionamento Ágil com GitVersionamento Ágil com Git
Versionamento Ágil com Gitelliando dias
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Erik Cruz
 
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
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubGilson Junior
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GITDenis Santos
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 

Similar to Superando o GitFlow - DrupalCamp Campinas 2016 (18)

Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Git
GitGit
Git
 
Git v2
Git v2Git v2
Git v2
 
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
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Versionamento Ágil com Git
Versionamento Ágil com GitVersionamento Ágil com Git
Versionamento Ágil com Git
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
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
 
Branches-Intro
Branches-IntroBranches-Intro
Branches-Intro
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GIT
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git básico
Git básicoGit básico
Git básico
 

More from Taller Negócio Digitais

Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...
Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...
Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...Taller Negócio Digitais
 
De um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQLDe um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQLTaller Negócio Digitais
 
Alinhando Discovery com Delivery usando Upstream Kanban
Alinhando Discovery com Delivery usando Upstream KanbanAlinhando Discovery com Delivery usando Upstream Kanban
Alinhando Discovery com Delivery usando Upstream KanbanTaller Negócio Digitais
 
Como a liderança descentralizada tornou a Taller mais efetiva
Como a liderança descentralizada tornou a Taller mais efetivaComo a liderança descentralizada tornou a Taller mais efetiva
Como a liderança descentralizada tornou a Taller mais efetivaTaller Negócio Digitais
 
Práticas e ferramentas de feedback: potencializando a cultura da confiança
Práticas e ferramentas de feedback: potencializando a cultura da confiançaPráticas e ferramentas de feedback: potencializando a cultura da confiança
Práticas e ferramentas de feedback: potencializando a cultura da confiançaTaller Negócio Digitais
 
Como preparar seu time para receber feedback - Scrum Gathering Rio 2017
Como preparar seu time para receber feedback - Scrum Gathering Rio 2017Como preparar seu time para receber feedback - Scrum Gathering Rio 2017
Como preparar seu time para receber feedback - Scrum Gathering Rio 2017Taller Negócio Digitais
 
Vacinando mais de 200 mil pessoas com ReactJS e GraphQL
Vacinando mais de 200 mil pessoas com ReactJS e GraphQLVacinando mais de 200 mil pessoas com ReactJS e GraphQL
Vacinando mais de 200 mil pessoas com ReactJS e GraphQLTaller Negócio Digitais
 
Taller - Ateliê de desenvolvimento de software
Taller - Ateliê de desenvolvimento de softwareTaller - Ateliê de desenvolvimento de software
Taller - Ateliê de desenvolvimento de softwareTaller Negócio Digitais
 
Introdução ao Fluxo Unificado - TDC Florianópolis 2017
Introdução ao Fluxo Unificado - TDC Florianópolis 2017Introdução ao Fluxo Unificado - TDC Florianópolis 2017
Introdução ao Fluxo Unificado - TDC Florianópolis 2017Taller Negócio Digitais
 
Javascript Funcional - TDC Florianópolis 2017
Javascript Funcional - TDC Florianópolis 2017Javascript Funcional - TDC Florianópolis 2017
Javascript Funcional - TDC Florianópolis 2017Taller Negócio Digitais
 
11 maneiras de compartilhar conhecimento - TDC Florianópolis 2017
11 maneiras de compartilhar conhecimento  - TDC Florianópolis 201711 maneiras de compartilhar conhecimento  - TDC Florianópolis 2017
11 maneiras de compartilhar conhecimento - TDC Florianópolis 2017Taller Negócio Digitais
 
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Taller Negócio Digitais
 

More from Taller Negócio Digitais (19)

Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...
Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...
Indo além do técnico para desenvolver sistemas que evoluem na velocidade do...
 
Discovery kanban
Discovery kanbanDiscovery kanban
Discovery kanban
 
Taller Negócios Digitais
Taller Negócios DigitaisTaller Negócios Digitais
Taller Negócios Digitais
 
De um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQLDe um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQL
 
Next.js with drupal, the good parts
Next.js with drupal, the good partsNext.js with drupal, the good parts
Next.js with drupal, the good parts
 
Gestão Ágil com Fluxo Unificado
Gestão Ágil com Fluxo UnificadoGestão Ágil com Fluxo Unificado
Gestão Ágil com Fluxo Unificado
 
Alinhando Discovery com Delivery usando Upstream Kanban
Alinhando Discovery com Delivery usando Upstream KanbanAlinhando Discovery com Delivery usando Upstream Kanban
Alinhando Discovery com Delivery usando Upstream Kanban
 
Lições Aprendidas com Fluxo Unificado
Lições Aprendidas com Fluxo UnificadoLições Aprendidas com Fluxo Unificado
Lições Aprendidas com Fluxo Unificado
 
Como a liderança descentralizada tornou a Taller mais efetiva
Como a liderança descentralizada tornou a Taller mais efetivaComo a liderança descentralizada tornou a Taller mais efetiva
Como a liderança descentralizada tornou a Taller mais efetiva
 
Métricas no Fluxo Unificado
Métricas no Fluxo UnificadoMétricas no Fluxo Unificado
Métricas no Fluxo Unificado
 
Práticas e ferramentas de feedback: potencializando a cultura da confiança
Práticas e ferramentas de feedback: potencializando a cultura da confiançaPráticas e ferramentas de feedback: potencializando a cultura da confiança
Práticas e ferramentas de feedback: potencializando a cultura da confiança
 
Como preparar seu time para receber feedback - Scrum Gathering Rio 2017
Como preparar seu time para receber feedback - Scrum Gathering Rio 2017Como preparar seu time para receber feedback - Scrum Gathering Rio 2017
Como preparar seu time para receber feedback - Scrum Gathering Rio 2017
 
Vacinando mais de 200 mil pessoas com ReactJS e GraphQL
Vacinando mais de 200 mil pessoas com ReactJS e GraphQLVacinando mais de 200 mil pessoas com ReactJS e GraphQL
Vacinando mais de 200 mil pessoas com ReactJS e GraphQL
 
Taller – Treinamentos e consultorias
Taller – Treinamentos e consultoriasTaller – Treinamentos e consultorias
Taller – Treinamentos e consultorias
 
Taller - Ateliê de desenvolvimento de software
Taller - Ateliê de desenvolvimento de softwareTaller - Ateliê de desenvolvimento de software
Taller - Ateliê de desenvolvimento de software
 
Introdução ao Fluxo Unificado - TDC Florianópolis 2017
Introdução ao Fluxo Unificado - TDC Florianópolis 2017Introdução ao Fluxo Unificado - TDC Florianópolis 2017
Introdução ao Fluxo Unificado - TDC Florianópolis 2017
 
Javascript Funcional - TDC Florianópolis 2017
Javascript Funcional - TDC Florianópolis 2017Javascript Funcional - TDC Florianópolis 2017
Javascript Funcional - TDC Florianópolis 2017
 
11 maneiras de compartilhar conhecimento - TDC Florianópolis 2017
11 maneiras de compartilhar conhecimento  - TDC Florianópolis 201711 maneiras de compartilhar conhecimento  - TDC Florianópolis 2017
11 maneiras de compartilhar conhecimento - TDC Florianópolis 2017
 
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
 

Superando o GitFlow - DrupalCamp Campinas 2016