This plugin is built and maintained in my free time. If it saves you time managing branches, a sponsorship helps keep it updated for new GitExtensions versions. 💜
Este plugin é construído e mantido no meu tempo livre. Se ele te poupa tempo gerenciando branches, um patrocínio ajuda a mantê-lo atualizado para as novas versões do GitExtensions. 💜
Plugin for GitExtensions that displays branches as a hierarchical tree and it makes the GitFlow methodology available in a very easy, intuitive, and pleasant visual way to apply to projects of any size.
Plugin para GitExtensions que exibe branches em uma arvore hierarquica e disponibiliza o uso da metodologia GitFlow de maneira visual muito fácil, intuitiva e agradável de aplicar em projetos de qualquer tamanho.
GitFlow flexible hierarchy — feature under feature / Hierarquia flexível do GitFlow — feature filha de feature
Classic GitFlow does not provide for a feature branch as a child of another feature. GitFlow defines a fixed hierarchy where all
feature/*branches derive fromdevelopand are siblings of one another. Sub-features are usually handled with separate commits on the same branch or with sibling branches sharing a common prefix. ZimerfeldTree GitFlow, however, allows a flexible hierarchy wherefeature/*branches can derive either fromdevelopor from anotherfeature/*above them. In that case, finishing a feature must necessarily cascade all its changes up to the parentfeature/*node, successively re-applying finish feature until it reachesdevelop.
O GitFlow conhecido não prevê feature filha de feature. O GitFlow define uma hierarquia fixa onde todas as branches
feature/*derivam dedevelope são irmãs entre si. Sub-features são geralmente tratadas com commits separados na mesma branch ou com branches irmãs de prefixo comum. Porém o ZimerfeldTree GitFlow permite uma hierarquia flexível onde as branchesfeature/*podem tanto derivar dedevelopquanto de uma outrafeature/*acima dela. Nesse caso o finish feature deve obrigatoriamente cascatear todas as mudanças para a branchfeature/*nó pai sucessivamente, aplicando finish feature novamente até chegar emdevelop.
GitFlow — Start and Finish rules per branch type / Regras de Start e Finish por tipo de branch:
Full command flow per type / Fluxo completo de comandos por tipo:
Tree hierarchy — empty commit vs based-on override / Hierarquia na árvore — commit vazio vs based-on override:
- Hierarchical branch tree — LOCAL, REMOTES and TAGS sections combining real commit ancestry with
/path grouping; current branch in bold, live counters and a real-time filter. - One-click GitFlow — start/publish/track/update/finish for feature, release, hotfix, bugfix and support, with a flexible hierarchy that even allows a feature under a feature (finish cascades up to
develop). - Pull / Push / Commit at hand — arrow-icon buttons with ahead/behind counters, a background remote check on open, and a guard that, when the branch is behind, offers to pull with rebase and then push automatically (replaying your commits on top of the remote ones, no merge commit) — clearing the
non-fast-forwardrejection in one click. The Commit(N)counter updates live as you edit files (a working-directory watcher refreshes it silently). - Restore — your "go back in time" hub — a dedicated window gathering every safe way to recover or undo history: restore a file/tree/tag, cherry-pick, revert (the safe undo for shared branches), create a branch/tag from any commit, reflog recovery of lost commits or deleted branches, discard local changes, and an advanced rebase to drop a commit — each with a clear, built-in explanation and teamwork guidance.
- Localized (English / Portuguese) — every window picks its language independently and remembers it.
- Árvore hierárquica de branches — seções LOCAL, REMOTES e TAGS combinando ancestralidade real de commits com agrupamento por caminho
/; branch atual em negrito, contadores ao vivo e filtro em tempo real. - GitFlow num clique — start/publish/track/update/finish para feature, release, hotfix, bugfix e support, com hierarquia flexível que permite até feature filha de feature (o finish cascateia até a
develop). - Pull / Push / Commit à mão — botões com ícones de seta e contadores adiante/atrás, verificação do remoto em segundo plano ao abrir e um aviso que, quando a branch está atrás, oferece Baixar com rebase e então enviar automaticamente (reaplicando seus commits por cima dos remotos, sem commit de merge) — resolvendo a rejeição
non-fast-forwardem um clique. O contador(N)do Commit atualiza ao vivo conforme você edita arquivos (um watcher do working directory o atualiza silenciosamente). - Restore — sua central de "voltar no tempo" — uma janela dedicada reunindo todas as formas seguras de recuperar ou desfazer histórico: restaurar arquivo/árvore/tag, cherry-pick, reverter (o desfazer seguro para branches compartilhadas), criar branch/tag a partir de qualquer commit, recuperação via reflog de commits perdidos ou branches deletadas, descartar mudanças locais e um rebase avançado para remover um commit — cada um com explicação embutida e orientações de trabalho em equipe.
- Localizado (Inglês / Português) — cada janela escolhe seu idioma de forma independente e o memoriza.
Technical details, features, screenshots and installation are available in the language-specific versions. Click here:
Detalhes técnicos, funcionalidades, printscreens e instalação encontram-se disponíveis nas versões por idioma. Clique aqui:
This README is intentionally short so it works both on GitHub and NuGet. Use the language links above for the full documentation.
Este README é propositalmente curto para funcionar tanto no GitHub quanto no NuGet. Use os links de idioma acima para acessar a documentação completa.
Other GitExtensions plugins by zimerfeld that work great alongside ZimerfeldTree:
Outros plugins do GitExtensions feitos por zimerfeld que funcionam muito bem ao lado do ZimerfeldTree:
- GitExtensions.ZimerfeldCommitMsg — auto-generated Conventional Commits messages / mensagens de commit no padrão Conventional Commits geradas automaticamente.
- GitExtensions.ZimerfeldLFS — Git LFS (Large File Storage) management inside GitExtensions / gerenciamento do Git LFS (Large File Storage) dentro do GitExtensions.
Copyright © 2026 Renato Zimerfeld — CC BY-NC-ND 4.0 (see / veja LICENSE.txt).





