🔧Como utilizar o GitFlow

🎯 O que é Git Flow?

Git Flow é uma estratégia de organização de branches criada por Vincent Driessen em 2010. Seu objetivo é organizar melhor o versionamento do código e dar fluidez ao desenvolvimento.

📋 Resumo da seção: É um modelo que organiza as ramificações do Git para facilitar o trabalho em equipe.


🔧 Como funciona?

O Git Flow usa 5 tipos de branches:

🏠 Branches Principais (Permanentes)

1. Master/Main

  • Função: Código de produção (o que está no ar)

  • Interações: Recebe apenas Hotfix e Release

  • Regra: Todo commit deve ter uma tag de versão

2. Develop

  • Função: Código do próximo deploy

  • Conteúdo: Funcionalidades prontas mas ainda não publicadas

  • Origem: Todas as features são integradas aqui primeiro

📋 Resumo: Master = produção atual, Develop = próxima versão em desenvolvimento.


🔄 Branches Temporárias (Removidas após uso)

3. Feature

  • Criada a partir de: Develop

  • Função: Desenvolver funcionalidades específicas

  • Convenção: feature/nome-da-funcionalidade

  • Merge: Volta para Develop (NUNCA para Master)

  • Exemplo: feature/sistema-login, feature/carrinho-compras

4. Hotfix

  • Criada a partir de: Master

  • Função: Correções urgentes em produção

  • Merge: Vai para Master E Develop

  • Obrigatório: Criar nova tag de versão

  • Exemplo: hotfix/corrigir-bug-pagamento

5. Release

  • Criada a partir de: Develop

  • Função: Ponte entre Develop e Master

  • Uso: Testes finais e homologação

  • Merge: Vai para Master e Develop

  • Obrigatório: Criar tag de versão

📋 Resumo: Feature = nova funcionalidade, Hotfix = correção urgente, Release = preparação para produção.


🔄 Fluxo Completo do Git Flow

1. 🚀 Desenvolver nova funcionalidade

Develop → Feature → Develop

2. 🏠 Preparar nova versão

Develop → Release → Master + Develop

3. 🚨 Corrigir bug urgente

Master → Hotfix → Master + Develop


📚 Resumo Geral

Git Flow é ideal quando você precisa de:

  • Controle rigoroso de versões

  • Múltiplas funcionalidades sendo desenvolvidas simultaneamente

  • Separação clara entre desenvolvimento e produção

  • Processo de homologação antes de publicar

Estrutura básica:

  • Master: O que está em produção

  • Develop: O que vai para produção

  • Feature: Novas funcionalidades

  • Release: Ponte para produção

  • Hotfix: Correções urgentes

Regra de ouro: Sempre criar tags de versão ao fazer merge para Master!


🎯 Conclusão: Git Flow traz organização e controle, mas adiciona complexidade. Use quando a organização for mais importante que a velocidade de entrega.

OBS: Para um maior entendimento, eu indico a leitura do artigo que foi a base para esse conteúdo, na Alura.

Last updated