3.5.1.1 Outros Workflows Git: Git Flow e GitLab Flow
🚀 3.8 Outros Workflows Git: Git Flow e GitLab Flow
🌱 Git Flow – Ideal para projetos grandes e organizados
🧠 O que é o Git Flow? É um modelo de trabalho com mais controle, ideal para projetos com muitos desenvolvedores, versões e etapas claras (ex: produção, teste, desenvolvimento).
🔁 Branches no Git Flow
main
Código estável e pronto para produção
develop
Onde os desenvolvedores trabalham juntos
feature/
Novas funcionalidades em desenvolvimento
release/
Preparar uma versão para produção
hotfix/
Corrigir erro urgente na produção
🗺️ Como funciona o fluxo?
main ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←
↑ ↑
(merge) (hotfix)
↑ ↑
release ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←
↑
(merge)
↑
develop ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←
↑
feature/minha-nova-funcionalidade🛠️ Passo a passo (exemplo prático)
1. Comece no develop:
2. Crie uma feature:
Trabalhe na funcionalidade normalmente, depois:
3. Preparar release:
Testes, ajustes finais...
4. Voltar ao ciclo:
5. Corrigir erro urgente:
Corrija, depois:
📌 Quando usar Git Flow?
Sistemas grandes.
Lançamentos com versões.
Times organizados e com deploys frequentes.
🧩 GitLab Flow – Workflow moderno e adaptável
🧠 O que é o GitLab Flow? É um modelo mais flexível e moderno que combina o controle de versões com o ambiente de deploy (produção, staging etc) e integração com GitLab CI/CD.
🔁 GitLab Flow combina:
Feature branches (como o Git Flow)
Deploy automático por ambiente
Integração com CI/CD
Permissões e revisão via Merge Requests
🧪 Tipos de GitLab Flow
Environment-based
Branches ligadas a ambientes (staging, prod)
Release-based
Controle por versão (release/1.2.0)
Issue-based
Cada issue (tarefa) gera uma branch
🗺️ Exemplo: Issue-Based GitLab Flow
Tudo começa com uma issue no GitLab (ex: #23 Criar página de contato).
O desenvolvedor cria uma branch baseada nela:
Trabalha normalmente:
Faz o push:
Abre um Merge Request (MR) no GitLab.
Outro dev revisa. Se aprovado:
Merge → vai para
main.CI/CD já pode fazer deploy automático.
⚙️ Comparando Git Flow vs GitLab Flow
Complexidade
Alta
Média
Ambientes separados
Manual
Nativo (com CI/CD GitLab)
Bom para equipes...
Grandes, com controle rígido
Pequenas, médias ou ágeis
Curva de aprendizado
Maior
Mais fácil com o GitLab
Merge automático
Não
Sim, via Merge Request
🧠 Conclusão simples para quem tá começando:
Estudando sozinho ou fazendo projetos simples
Workflow local ou feature branch
Trabalhando em time com organização + CI/CD
GitLab Flow
Projetando algo grande com versões e processos
Git Flow

Atualizado

