SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Controle de versão
Possibilita a organização de arquivos em forma de storyline
Boas práticas
Após algum tempo algumas boas práticas são adotadas e
processos padronizados surgem
GitFlow
Criado em 2010 por Vincent Driessen e se consolidou como
padrão de boas práticas de Git, porém…
TL;DR
Precisamos de alternativas
Uma alternativa ao
GitFlow
Agenda
# Feature branch model
# Squash & Merge
# Gerando Releases
# Deploying
# Gerando Hotfix
Feature Branch
Model
!
!
!
!
!
!
!
!
!
!
!
Feature #1
!
Feature #2
Master
Feature #1 by Bruno
Master
Feature #2 by September
Feature #1 by Bruno
Master
Feature #2 by September
Feature #1 by Bruno
Master
Master
Feature #1 by Bruno
Feature #1 by Bruno
Master
Master
Como fazer?
# git checkout -b feature-x
# git push -u origin feature-x (abre PR*)
# Peer review (rebase*)
# Squash + Merge
Squash
& Merge
Feature #1 by Bruno
Master
# merge only
Master
# merge only
Feature #1 by Bruno
Master
# squash + merge
# squash + merge
Feature #1 by Bruno
Master
Vantagens
# Pack de commits: feature
# Fácil "cherry-pick"
# Fácil aplicação de hot-fixes
Gerando Releases
Gerando releases
# git checkout <master | branch | tag>
# git tag -a v<MAJOR>.<MINOR>.<PATCH>
# git push --follow-tags
Master
v0.1.0
v0.2.0
Deploying
Deploying
# Heroku e outros “git based deploy”:
# git push -f <remote> v0.2.0^{}:master
# Outra opção:
# Config com versão que deve subir (requer script)
Hotfix
Cenário 1
# git checkout <env-tag>
# git checkout -b hotfix-v0.2.1
# Realiza o fix
# Gera release incrementando o patch
# Abre Push Request
Cenário 2
# git checkout <env-tag>
# git cherry-pick <commit>
# Gera release incrementando o patch
Demo
Q & A
bit.ly/gitflow-alternative
# " medium.com/@brunoluiz
# # contato@brunoluiz.net
# $ linkedin.com/in/brnluiz
@brunoluiz

Mais conteúdo relacionado

Mais procurados

Front-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividadeFront-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividadeHerson Leite
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Aula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - WebschoolAula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - WebschoolBruno Orlandi
 
GitHub Boas Práticas
GitHub Boas PráticasGitHub Boas Práticas
GitHub Boas PráticasCDS
 
Aula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolAula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolBruno Orlandi
 

Mais procurados (6)

Front-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividadeFront-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividade
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Aula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - WebschoolAula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - Webschool
 
GitHub Boas Práticas
GitHub Boas PráticasGitHub Boas Práticas
GitHub Boas Práticas
 
Aula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolAula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - Webschool
 
Teambox
TeamboxTeambox
Teambox
 

Semelhante a Uma alternativa ao GitFlow - FloripaJS

Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitC. Augusto Proiete
 
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
 
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
 
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
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - gitThiago Filadelfo
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorFelipe Pedroso
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareGilmar Pupo
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealThiago Bertuzzi
 
Dos monolitos aos microsserviços - PythonBrasil13
Dos monolitos aos microsserviços - PythonBrasil13Dos monolitos aos microsserviços - PythonBrasil13
Dos monolitos aos microsserviços - PythonBrasil13Rael Max
 
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?Danilo J. S. Bellini
 

Semelhante a Uma alternativa ao GitFlow - FloripaJS (20)

Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído 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
 
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
 
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
 
Git ...ftw!
Git ...ftw!  Git ...ftw!
Git ...ftw!
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de software
 
Go git - Presentation @Navita
Go git - Presentation @NavitaGo git - Presentation @Navita
Go git - Presentation @Navita
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso Real
 
Dos monolitos aos microsserviços - PythonBrasil13
Dos monolitos aos microsserviços - PythonBrasil13Dos monolitos aos microsserviços - PythonBrasil13
Dos monolitos aos microsserviços - PythonBrasil13
 
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
 

Uma alternativa ao GitFlow - FloripaJS