Fundamentals 4 min read

Choosing the Right Git Branching Model: Git‑flow, GitHub‑flow, or Gitlab‑flow

The article explains that selecting a Git branching model—Git‑flow, GitHub‑flow, or Gitlab‑flow—depends on a team's engineering capability and collaboration discipline rather than size, describing each model’s suitability, trade‑offs, and real‑world examples such as Facebook’s trunk‑based delivery.

Continuous Delivery 2.0
Continuous Delivery 2.0
Continuous Delivery 2.0
Choosing the Right Git Branching Model: Git‑flow, GitHub‑flow, or Gitlab‑flow

Today I was asked which branching model—Git‑flow, GitHub‑flow, or Gitlab‑flow—is better. My answer: it’s the wrong question. The right question is what the organization’s engineering capability looks like; once answered, the appropriate model follows.

Using a model is tied to a team’s engineering capability and collaboration discipline, not its size. Strong teams can adopt simple models; weaker teams may need more complex ones.

1. Git‑flow is suited for teams with weak delivery capability, long release cycles, and poor quality during delivery. They lack better alternatives, so they resort to this model.

2. GitHub‑flow originates from open‑source collaboration, where delivery time is not critical, contributors are distributed, and commitment levels vary.

3. Gitlab‑flow was created for software organizations that need to ship features quickly. It is a middle ground: when a team’s technical ability is low, architecture is tightly coupled, and quality safeguards are lacking, they may use a development branch (master), a pre‑release branch, and a release branch.

True speed comes from “no branches,” a practice few companies achieve, but Facebook’s 2017 release manager Chuck Rossi described their frontend as near true continuous delivery: trunk development and trunk release, with 700‑800 engineers working on a single monolithic codebase (≈1 GB) and deploying roughly every two hours.

Domestic teams invest less in engineering infrastructure, making such models rare locally, though they do exist.

Promotional note: My new book “Continuous Delivery 2.0” is now available on JD.com; scan the QR code below to purchase.

gitContinuous Deliverysoftware deliveryBranchinggit flowGitHub FlowGitLab Flow
Continuous Delivery 2.0
Written by

Continuous Delivery 2.0

Tech and case studies on organizational management, team management, and engineering efficiency

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.