GitFlow

Uma abordagem prática para gerenciamento de branches

Gerenciar branches pode se tornar algo desafiador, mas há várias práticas e ferramentas que podem ajudar a lidar com essa dificuldade. E uma dessas práticas é o Gitflow, já usado em muitas empresas no mercado.

 

1. O que é GitFlow?

O GitFlow é um modelo de fluxo de trabalho baseado no Git que define uma série de regras e diretrizes para o gerenciamento de branches em um repositório Git. Ele propõe uma estrutura rígida para o ciclo de vida do desenvolvimento de software, dividindo o processo em diferentes etapas, como desenvolvimento de novos recursos, correção de bugs, preparação de lançamentos e manutenção de versões.

Ele define um conjunto de branches, cada qual com sua finalidade:

Branch Master: Esta é a branch principal do repositório e deve sempre conter o código estável e pronto para produção.

Branch Develop: É a branch de desenvolvimento onde novos recursos são integrados e testados antes de serem mesclados na branch master.

Feature branches: Cada novo recurso é desenvolvido em sua própria branch separada, derivada da branch develop. Após a conclusão do desenvolvimento, a branch de recurso é mesclada de volta na branch develop.

Release branches: Quando uma versão está pronta para ser lançada, uma branch de lançamento é criada a partir da branch develop. Nesta branch, são feitos os ajustes finais e a preparação para o lançamento. Após a conclusão, a branch de lançamento é mesclada tanto na branch master quanto na develop.

Hotfix branches: Essas branches são usadas para corrigir problemas críticos na produção. Elas são criadas a partir da branch master e, após a correção, são mescladas tanto na master quanto na develop.

OBS: As branches principais, são a Develop e a Master, já a Feature, Release e Hotfix, são mais de suporte e temporárias, e duram até a realização do merge com as branches principais

No lugar de utilizar uma única branch principal, esse fluxo trabalha com duas branches principais para registrar o histórico do projeto. A branch Master armazena o histórico do lançamento oficial, e a branch Develop serve como uma ramificação de integração para recursos.

Veja a estrutura do Gitflow para você entender como funciona o fluxo. Os commits na branch Master são marcados com um número da versão:

2.Quando utilizar o GitFlow?

É muito útil em projetos de software que requerem uma abordagem estruturada e organizada para o gerenciamento de versões e lançamentos. Ele é particularmente adequado para projetos de médio a grande porte, onde várias equipes estão trabalhando simultaneamente em diferentes recursos e correções de bugs.

 

3. Como utilizar o GitFlow?

Existem duas formas de implementar o git flow, através dos comandos básicos do git, e a outra através da CLI do git flow, que é a forma mais prática e que será apresentada aqui nesse artigo.

 

3.1 – Instalação da CLI do Git Flow:

				
					OSX: brew install git-flow
Linux: apt install git-flow
windows: https://git-scm.com/download/win
				
			

3.2 – Depois precisamos criar a branch Devolp a partir da branch Master, então digite o comando no terminal do seu projeto:

				
					git flow init
				
			

3.3- Criando uma nova feature:

				
					git flow feature start nome-da-feature
				
			

3.4 – Finalizando a feature, apagando e mergiando para a Develop:

				
					git flow feature finish nome-da-feature
				
			

3.5- Criando um Hotfix para correção de algum código:

				
					git flow hotfix start nome-hotfix
				
			

3.6- Finalizando um Hotfix, apagandoe mergiando para a brach Develop:

				
					git flow hotfix finish nome-hotfix
				
			

3.7- Criação de uma release:

				
					git flow release start 1.0.0
				
			

3.8- Finalizando uma release:

				
					git flow release finish 1.0.0
				
			

3.8- Finalizando uma release:

				
					git flow release finish 1.0.0
				
			

4. Principais vantagens do GitFlow

E aí gostou? Então compartilhe, vamos divulgar esse conhecimento

Posts Recentes