Repository navigation
Gitflow
Vinícius Stutz edited this page Sep 30, 2026
·
3 revisions
O Gitflow é uma estratégia de ramificação (branching strategy) para o Git que define um modelo rígido e estruturado de branches para o ciclo de vida de um projeto. Ele é especialmente útil em projetos com releases agendadas e equipes colaborando simultaneamente.
| Branch | Propósito |
|---|---|
main |
Código em produção. Só recebe código estável e aprovado. |
develop |
Integração de todas as features em desenvolvimento. Base para releases. |
| Branch | Prefixo | Origem | Destino |
|---|---|---|---|
| Feature | feature/ |
develop |
develop |
| Release | release/ |
develop |
main + develop
|
| Hotfix | hotfix/ |
main |
main + develop + release
|
| Bugfix | bugfix/ |
release |
release + develop
|
| Housekeeping | housekeeping/ |
release |
release + develop
|
main ─────────────────────────────────────────────────●──────────────────────●
│ ↑ merge release ↑ merge release (hotfix)
release ─────●───────────────────────────────────────────●──────────────────────●
│ ↑ merge feature ↑ merge bugfix ↑
develop ─────●─────────●───────────────●────────────────────────────────────────●
↑ ↑ ↑
feature feature/xxx │ │
bugfix bugfix/xxx │
hotfix hotfix/xxx
Note
Diagrama interativo: Para uma visualização do fluxo em formato Mermaid gitGraph (compatível com Obsidian e GitLab etc), consulte o diagrama.
# Cria e publica a branch develop a partir da main
git checkout main
git checkout -b develop
git push origin develop# Cria a branch de feature a partir da develop
git checkout develop
git checkout -b feature/minha-feature
# ... desenvolve o código ...
# Mescla de volta na develop
git checkout develop
git merge --no-ff feature/minha-feature
git branch -d feature/minha-feature
git push origin develop# Cria a branch de release a partir da develop
git checkout develop
git checkout -b release/1.1.0
# ... ajustes finais, bump de versão ...
# Mescla na main (vai para produção)
git checkout main
git merge --no-ff release/1.1.0
git tag -a v1.1.0
# Mescla de volta na develop
git checkout develop
git merge --no-ff release/1.1.0
git branch -d release/1.1.0# Cria o hotfix direto da main (produção)
git checkout main
git checkout -b hotfix/correcao-critica
# ... corrige o bug ...
# Mescla na main
git checkout main
git merge --no-ff hotfix/correcao-critica
git tag -a v1.1.1
# Mescla na develop também
git checkout develop
git merge --no-ff hotfix/correcao-critica
git branch -d hotfix/correcao-criticaO Gitflow segue o padrão de versionamento semântico (SemVer): MAJOR.MINOR.PATCH
| Tipo de Mudança | Exemplo | Versão |
|---|---|---|
| Feature nova | feature/login |
v1.0.0 → v1.1.0
|
| Bugfix | bugfix/erro-login |
v1.1.0 → v1.1.1
|
| Hotfix em produção | hotfix/crash-critico |
v1.1.1 → v1.1.2
|