1 / 2 · Book 17 · Branching Strategies · drill: interview Q&A⊞ allnext →Get the book →
1.7Transitioning Between Strategies
Teams often start with GitFlow and migrate toward GitHub Flow or trunk-based development as their automation matures. If your team is considering a transition, here is what you need to prepare.
Moving from GitFlow to GitHub Flow
- Speed up the pipeline: GitHub Flow relies on PR checks as the primary gate. If your pipeline takes 40 minutes, PRs will be painful.
- Eliminate the release branch test phase: All testing must happen on the PR. Any tests that only ran on the release branch must move to the PR pipeline.
- Improve test reliability: In GitFlow, a flaky test on the release branch might be tolerated. In GitHub Flow, a flaky test blocks every PR.
Moving from GitHub Flow to Trunk-Based
- Implement feature flags: You need a way to deploy incomplete features safely.
- Reduce pipeline time to under 10 minutes: Developers cannot wait 20 minutes for every small commit.
- Achieve near-zero flaky test rate: Every test failure on main blocks the team.
- Shift QA earlier: QA must participate in design and requirements, not wait for code.