I'm working on setting up a new CI pipeline and need to pick a branching strategy. I've been considering GitFlow because I appreciate the organized release process it offers, moving from develop to release to main. It feels like a safer and more sustainable option in the long run. However, I haven't used GitFlow before, and I'm wondering if it might be overkill. Are developers likely to complain about not getting to production quickly enough with this approach? What are people's experiences with GitFlow versus other strategies?
5 Answers
Honestly, I’d avoid GitFlow unless you absolutely need it. The benefits of TBD are clearer in fast-paced environments where you want to deploy often without messing around with complex branching that doesn’t add significant value. Keep it simple: one main branch and deploy from there.
For most web projects, GitFlow adds unnecessary complexity. If you don’t need to manage multiple versions or have long release cycles, consider using Trunk with feature toggles instead. It allows for continuous deployment and makes handling changes much smoother.
GitFlow is only really relevant if you're maintaining several versions of your software, like in desktop application development. If you’re just updating a web application, Trunk-Based Development is more efficient and less complicated.
A lot of people have moved away from GitFlow these days, even the original creator suggests looking for simpler options. Trunk-Based Development (TBD) seems to be the go-to method lately. It simplifies things by keeping just one main branch and using short-lived feature branches that get merged in quickly.
I somewhat agree. GitFlow can be useful, especially if you need to support multiple software versions at once, but if your release cycles are shorter, you might want to rethink it. If you're just looking to streamline your process and keep things simple, Trunk-Based Development might be the way to go.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically