Git Pie: A Arte Ancestral do Versionamento 🥧 Help

Gitflow Workflow

Se o Feature Branch é uma festa na casa do Stifler, o Gitflow é o baile de formatura - tem regras, tem estrutura, mas ainda é divertido!

Estrutura Principal

maindevelopfeature/loginrelease/1.00-1a197331-1c95e3a2-f57d0523-2ede9e05-c1dff1a

Branches Principais

1. Main e Develop

Sempre estável

Próxima versão

Release pronta

main

Produção

develop

Desenvolvimento

2. Branches de Suporte

GitflowFeatureReleaseHotfixNova funcionalidadeSai de developMerge em developPreparaçãoBugfixMerge em main/developCorreção urgenteSai de mainMerge em main/develop

Ciclo de Vida

1. Feature Development

FeatureDevelopFeatureDevelopbranch feature/novaDesenvolvimentoTestesMerge quando pronto

2. Preparação de Release

maindeveloprelease/1.00-c6550821-fca9278bump versionfix bugs

3. Hotfix em Produção

Comandos Essenciais

1. Iniciando Gitflow

git flow init

2. Features

# Iniciar feature git flow feature start login # Finalizar feature git flow feature finish login

3. Releases

# Criar release git flow release start 1.0.0 # Finalizar release git flow release finish 1.0.0

4. Hotfixes

# Criar hotfix git flow hotfix start bug-critical # Finalizar hotfix git flow hotfix finish bug-critical

Fluxo de Trabalho Completo

feature start

feature finish

release start

release finish

release finish

hotfix start

hotfix finish

hotfix finish

develop

feature/nova

release/1.0

main

hotfix/bug

Boas Práticas

1. Nomenclatura

Features: feature/login feature/user-profile Releases: release/1.0.0 release/2.1.0 Hotfixes: hotfix/security-fix hotfix/crash-bug

2. Versionamento

VersãoMajorMinorPatchBreaking Changes1.0.0 -> 2.0.0Novas Features1.0.0 -> 1.1.0Bugfixes1.0.0 -> 1.0.1

Quando Usar Gitflow?

Ideal ParaReleases PlanejadasMúltiplos AmbientesEquipes GrandesCiclos definidosVersões numeradasDevQAProdProcessos clarosResponsabilidadesdefinidas

Prós e Contras

Vantagens

✅ Estrutura clara e definida ✅ Ideal para releases planejadas ✅ Suporte a hotfixes ✅ Processos bem documentados

Desvantagens

❌ Mais complexo que feature branch ❌ Overhead para projetos pequenos ❌ Curva de aprendizado maior ❌ Pode ser "pesado" demais

Dicas de Implementação

1. Ferramentas de Suporte

ToolsGit Flow CLIIDE PluginsCI/CDComandos automatizadosMenos errosVisual feedbackIntegraçãoAutomaçãoQualidade

2. Checklist de Release

📋 Release Checklist 1. [ ] Feature freeze 2. [ ] Criar branch release 3. [ ] Bump version 4. [ ] Testes de regressão 5. [ ] Documentação 6. [ ] Code freeze 7. [ ] Deploy staging 8. [ ] Merge em main 9. [ ] Tag version 10.[ ] Deploy prod

Conclusão

Gitflow é como um roteiro de filme bem planejado - tem pré-produção (develop), filmagem (features), edição (release) e até correções de última hora (hotfix). Quando bem executado, o resultado é um blockbuster!

SucessoPlanejamentoExecuçãoManutençãoBranches corretasMomento certoSeguir workflowManter padrõesReleases limpasHotfixes rápidos
21 abril 2025