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.
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:
É 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.
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.
OSX: brew install git-flow
Linux: apt install git-flow
windows: https://git-scm.com/download/win
git flow init
git flow feature start nome-da-feature
git flow feature finish nome-da-feature
git flow hotfix start nome-hotfix
git flow hotfix finish nome-hotfix
git flow release start 1.0.0
git flow release finish 1.0.0
git flow release finish 1.0.0
GustavoSouza©2024 – Todos os direitos reservados