git-flow-next: The Classic Git Flow, Rewritten in Go

git-flow-next: The Classic Git Flow, Rewritten in Go

29 views
By Lounes Hareb
gitgit-flowdeveloper toolsopen sourcecli

Some tools never really die; they just stop answering email. The original git-flow - the command-line companion to the branching model half the industry grew up on - went quiet years ago, and its AVH successor has faded too. The project's own site now says it plainly: both are discontinued.

Meanwhile the model itself never went away. Teams still cut feature, release and hotfix branches exactly like Vincent Driessen drew it up back in 2010. And now the tooling has finally caught up: git-flow-next is a full reimplementation in Go, maintained by the team behind Tower, the Git client for Mac and Windows.

Same flow, new engine

git-flow-next keeps the vocabulary your fingers already know: git flow init, git flow feature start, git flow feature finish, releases and hotfixes included. It's backward compatible with existing git-flow and git-flow-AVH repositories, so you can point it at a repo with years of history and it picks up the existing configuration.

What changes is the plumbing. Go brings reliability and speed, error messages that actually say what went wrong, and saner recovery when a merge conflicts. My favorite touch: shorthand commands that detect your current topic branch, so git flow finish or git flow publish just does the right thing without you typing the branch name for the hundredth time.

The upgrades that matter

The headline feature is branch dependency tracking: git-flow-next understands parent-child relationships between branches and propagates merges between them automatically - no more main silently lagging behind production.

Around that: configurable merge strategies for both upstream and downstream operations, and a unified topic branch system. You're no longer limited to the hardcoded feature, release, hotfix and support types - define your own branch types and they all get the same start, finish, publish and update ergonomics.

Your workflow, not theirs

If classic Gitflow isn't your religion, the same engine ships presets for GitHub Flow and GitLab Flow, plus a start-from-scratch mode where every branch type, naming convention and merge behavior is yours to define. The configuration is layered - what a branch type is, versus the defaults you tune per repo - and there's a migration guide from git-flow-AVH.

Installation is one command on any platform: brew install git-flow-next on Mac or Linux, winget or Scoop on Windows, or a plain binary from the releases page.

The catch

This is a tool for teams that like structured branching. If your crew commits straight to main and deploys fifty times a day, git-flow-next won't convert you - nor does it try to. It's also a rewrite, so edge-case behavior can differ from the ancient original; worth a spin on a test repository before you point it at the company monorepo. And it's terminal-first; if you want buttons, that's what Tower itself is for.

Verdict

The classic git-flow tool was abandonware powering a workflow that never died. git-flow-next gives it a maintained, modern engine from a team with over a decade of Git tooling behind it. Free, open source under a BSD 2-Clause license, and one command away. If your team still ships the Gitflow way - or wants to - this is the obvious upgrade.

Official site - GitHub

Share this article