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.
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.
Continuous Delivery 2.0
Tech and case studies on organizational management, team management, and engineering efficiency
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.