Julien Danjou

Sep 5, 2025

7 min

read

Trunk-Based Development vs Gitflow: Which Branching Model Actually Works?

Trunk-based vs Gitflow: which branching model really works for modern CI/CD? We compare both, share trade-offs, and argue why trunk-based (with automation like merge queues) usually wins for teams that care about speed, reliability, and flow.

Ask 10 engineers about branching strategies, and you'll get 12 opinions. But in practice, two models dominate: trunk-based development and Gitflow.

Both have their fans. Both have their flaws.

One keeps flow moving. The other adds ceremony.

Let's dig into the trade-offs — and why trunk-based, especially with the right tooling, usually wins for modern CI/CD.

🤓 What Is Trunk-Based Development?

In trunk-based development, everyone works off a single main branch (the “trunk”). Developers create short-lived feature branches, commit a few changes, and merge back quickly.

The goal is simple: keep work flowing into trunk often and in small increments.

  • Feature branches live for hours or days, not weeks.

  • Every merge is tested and integrated immediately.

  • Release branches are snapshots of trunk at a moment in time, merged back once shipped.

Think of it as continuous integration in its purest form.

❤️ Benefits of Trunk-Based Development

For small teams, trunk-based feels natural. But even at scale, it shines because it aligns perfectly with modern delivery practices.

  • Continuous integration baked in → every change hits trunk fast.

  • Smaller diffs = easier debugging → when something breaks, you know which change caused it.

  • Faster bugfixes and releases → no waiting for a massive branch to merge.

  • Async reviews possible → small PRs are easier to review quickly.

  • Supports automated testing at scale → every push is testable in isolation.

It’s no accident that the DORA metrics (lead time, deployment frequency, change failure rate) correlate strongly with trunk-based workflows.

😢 Shortcomings of Trunk-Based Development

It’s not perfect, of course.

  • Bug risk creeps in → regression testing must be automated and reliable, or things slip.

  • Merge bottlenecks → when CI/CD is slow, developers end up waiting in line.

  • Discipline required → without guardrails, trunk can turn into chaos.

This is exactly where tooling like merge queues comes in (more on that later).

🤓 What Is Gitflow?

Gitflow, by contrast, is branching by default.

  • Long-lived feature branches

  • Separate release branches

  • A “develop” branch distinct from “main”

Every feature has its own branch, worked on until “done,” then merged into the mainline.

This model became popular because it mirrors traditional software release cycles: features accumulate, get bundled, then released as a package.

❤️ Benefits of Gitflow

Gitflow’s appeal is structure.

  • Parallel feature work → developers can isolate features for long periods.

  • Scheduled releases → fits organizations with monthly/quarterly releases.

  • Simpler merges (per branch) → fewer, larger merges instead of constant integration.

For organizations with heavy regulation or long release cadences, this structure can feel safer.

😢 Shortcomings of Gitflow

But Gitflow has serious trade-offs in a CI/CD world:

  • Merge conflicts pile up → the longer a branch lives, the harder it is to merge.

  • Context loss → reviewers see giant PRs instead of bite-sized changes.

  • Slower feedback → bugs discovered weeks later instead of hours.

  • Harder history → the commit graph becomes a maze.

Gitflow optimizes for control, not speed. And in practice, that control often means delay.

🧐 Gitflow vs. Trunk-Based Development

So how do they really compare?


Trunk

Gitflow

Branch lifespan

short-lived

long-lived

Merge frequency

continuous

occasional, big merges

Team workflow

everyone integrates fast

parallel silos

Best fit

teams aiming for velocity

teams with rigid

👉 If you want to ship continuously, trunk-based is the clear winner.

👉 If you’re in a world of quarterly releases and heavy compliance, Gitflow might feel safer.

But don’t confuse “safe” with “fast.”

When to Use Trunk-Based Development

  • New projects / MVPs → you want fast iteration and feedback.

  • Small teams → fewer merge conflicts, less ceremony.

  • Continuous delivery environments → when CI/CD is solid, trunk keeps it flowing.

The key: trunk-based works best when automation supports it. Without reliable CI, automated testing, and guardrails, trunk can get messy.

When to Use Gitflow

  • Scheduled release cycles → when you’re not deploying continuously.

  • Teams with many concurrent features → Gitflow can compartmentalize.

  • Heavily regulated industries → where multiple approvals and long QA cycles are required.

It can still work — but expect slower delivery and heavier merge overhead.

Our Take: Why Trunk-Based Wins (With the Right Tools)

At Mergify, we're opinionated: trunk-based development is the better model for most modern teams.

But — and it's a big but — trunk-based systems require supporting infrastructure. Without it, you’ll quickly hit bottlenecks.

That's where tools like merge queues make trunk-based development practical:

  • Instead of everyone pushing at once and overloading CI, pull requests enter a merge queue.

  • CI tests the stacked changes together before merging.

  • Developers get reliability without losing speed.

Pair that with automation rules (e.g., "merge only if CI passes + two approvals") and CI Insights (to spot flaky tests and slow jobs), and trunk-based becomes not just viable — but optimal.

Gitflow doesn't need as much tooling, but it pays the price in velocity.

Frequently Asked Questions

Is GitHub Flow trunk-based development?

Not exactly. GitHub Flow uses short-lived feature branches like trunk-based, but it’s simpler and less strict.

Is trunk-based always better?

For speed and flow, yes. For compliance-heavy, scheduled-release teams, Gitflow may fit better.

What does a trunk-based diagram look like?

A single trunk branch with small, short-lived feature branches constantly merging back.

Final Thoughts

Trunk-based vs Gitflow isn’t just a question of branching. It’s a question of culture and velocity.

  • Trunk-based aligns with continuous delivery and modern DevOps.

  • Gitflow aligns with control and slower release cycles.

Our take? If you care about flow, pick trunk-based — and back it up with automation like merge queues and CI Insights to keep trunk green and teams shipping.

Because the real choice isn't just between trunk and Gitflow.

It's between speed and ceremony.

Recommended blogposts

Dec 6, 2024

4 min

read

Aligning Project Management with Team Culture at Mergify

At Mergify, we learned the hard way that process should serve the team—not the other way around. Here’s how we moved beyond rigid Agile rituals to a lightweight, culture-driven workflow that respects autonomy, fosters ownership, and keeps our remote team shipping.

Julien Danjou

Dec 6, 2024

4 min

read

Aligning Project Management with Team Culture at Mergify

At Mergify, we learned the hard way that process should serve the team—not the other way around. Here’s how we moved beyond rigid Agile rituals to a lightweight, culture-driven workflow that respects autonomy, fosters ownership, and keeps our remote team shipping.

Julien Danjou

Dec 6, 2024

4 min

read

Aligning Project Management with Team Culture at Mergify

At Mergify, we learned the hard way that process should serve the team—not the other way around. Here’s how we moved beyond rigid Agile rituals to a lightweight, culture-driven workflow that respects autonomy, fosters ownership, and keeps our remote team shipping.

Julien Danjou

Dec 6, 2024

4 min

read

Aligning Project Management with Team Culture at Mergify

At Mergify, we learned the hard way that process should serve the team—not the other way around. Here’s how we moved beyond rigid Agile rituals to a lightweight, culture-driven workflow that respects autonomy, fosters ownership, and keeps our remote team shipping.

Julien Danjou

Dec 12, 2024

4 min

read

The Mechanics of Mergify’s Project-Driven Workflow

How Mergify evolved from lightweight Agile to a project-driven workflow that balances ownership, clarity, and autonomy. Briefs, leads, and deadlines keep us motivated, aligned, and shipping without bureaucracy.

Julien Danjou

Dec 12, 2024

4 min

read

The Mechanics of Mergify’s Project-Driven Workflow

How Mergify evolved from lightweight Agile to a project-driven workflow that balances ownership, clarity, and autonomy. Briefs, leads, and deadlines keep us motivated, aligned, and shipping without bureaucracy.

Julien Danjou

Dec 12, 2024

4 min

read

The Mechanics of Mergify’s Project-Driven Workflow

How Mergify evolved from lightweight Agile to a project-driven workflow that balances ownership, clarity, and autonomy. Briefs, leads, and deadlines keep us motivated, aligned, and shipping without bureaucracy.

Julien Danjou

Dec 12, 2024

4 min

read

The Mechanics of Mergify’s Project-Driven Workflow

How Mergify evolved from lightweight Agile to a project-driven workflow that balances ownership, clarity, and autonomy. Briefs, leads, and deadlines keep us motivated, aligned, and shipping without bureaucracy.

Julien Danjou

Apr 17, 2025

3 min

read

Handling Candidate Rejection: A Delicate Balancing Act

At Mergify, we reject with respect. This post shares how we handle one of hiring’s hardest parts: saying no. Why we keep it short, when we go deeper, and how we try to balance honesty, kindness, and efficiency — for your sake and ours.

Julien Danjou

Apr 17, 2025

3 min

read

Handling Candidate Rejection: A Delicate Balancing Act

At Mergify, we reject with respect. This post shares how we handle one of hiring’s hardest parts: saying no. Why we keep it short, when we go deeper, and how we try to balance honesty, kindness, and efficiency — for your sake and ours.

Julien Danjou

Apr 17, 2025

3 min

read

Handling Candidate Rejection: A Delicate Balancing Act

At Mergify, we reject with respect. This post shares how we handle one of hiring’s hardest parts: saying no. Why we keep it short, when we go deeper, and how we try to balance honesty, kindness, and efficiency — for your sake and ours.

Julien Danjou

Apr 17, 2025

3 min

read

Handling Candidate Rejection: A Delicate Balancing Act

At Mergify, we reject with respect. This post shares how we handle one of hiring’s hardest parts: saying no. Why we keep it short, when we go deeper, and how we try to balance honesty, kindness, and efficiency — for your sake and ours.

Julien Danjou

Curious where your CI is slowing you down?

Try CI Insights — observability for CI teams.

Curious where your CI is slowing you down?

Try CI Insights — observability for CI teams.

Curious where your CI is slowing you down?

Try CI Insights — observability for CI teams.

Curious where your CI is slowing you down?

Try CI Insights — observability for CI teams.