Skip to content
0:00 / 0:00

#gitflow#trunk-baseddevelopment#continuousintegration

Git Flow Is A Bad Idea

Modern Software Engineering

265K subscribers • 8 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Dave Farley, founder of Continuous Delivery
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

307K views5 years ago2 recommendations

Tools and practiceGit and version controlCI/CD and deploymentCode review and teamwork

Dave Farley explains why Git Flow is incompatible with continuous integration and continuous delivery, advocating for trunk-based development instead.

What is GitFlow and why is it a bad idea if you want to practice Continuous Delivery or Continuous Integration? GitFlow is a feature branching strategy that adds several extra layers of complexity. Git Flow is bad when we need fast feedback and a clear picture of the quality and 'releasability' of our work, so how do we adapt to get that faster feedback and a clearer picture? In this episode Dave Farley describes GitFlow, Git feature branch-based GitHubFlow and explores the reasons why they aren’t compatible with the software engineering practices of Continuous Delivery, or Continuous Integration, and describes how Bryan Finster got important sources of information on this topic changed to point out their inappropriateness including revising the description of GitFlow on the Atlassian website. ------------------------------------------------------------------------------------- Also from Dave: 🎓 CD TRAINING COURSES If you want to learn Continuous Delivery and DevOps skills, check out Dave Farley's courses ➡️ bit.ly/DFTraining 📧 Get a FREE guide "How to Organise Software Teams" by Dave Farley when you join our CD MAIL LIST 📧 The best way to keep in touch with the latest discussions, events and new training courses, get FREE guides and exclusive offers. ➡️ subscribepage.com/organise-teams-guide ------------------------------------------------------------------------------------ 📚 BOOKS: 📖 Dave’s NEW BOOK "Modern Software Engineering" is now available on Amazon ➡️ amzn.to/3DwdwT3 In this book, Dave brings together his ideas and proven techniques to describe a durable, coherent and foundational approach to effective software development, for programmers, managers and technical leads, at all levels of experience. 📖 "Continuous Delivery Pipelines" by Dave Farley paperback ➡️ amzn.to/3gIULlA ebook version ➡️ leanpub.com/cd-pipelines 📖 The original, award-winning "Continuous Delivery" book by Dave Farley and Jez Humble ➡️ amzn.to/2WxRYmx ------------------------------------------------------------------------------------- CHANNEL SPONSORS: Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0 Harness helps engineers and developers simplify and scale CI/CD, Feature Flags and Cloud Cost Management with an AI-powered platform for software delivery. ➡️ bit.ly/3Cfx3qI Octopus are the makers of Octopus Deploy the single place for your team to manage releases, automate deployments, and automate the runbooks that keep your software operating. ➡️ octopus.com/ SpecFlow Behavior Driven Development for .NET SpecFlow helps teams bind automation to feature files and share the resulting examples as Living Docum

Why it's here

2 people recommend this

What people say. Recommended as an explanation of why Git Flow can be harmful and why trunk-based development is preferred.

u/zaibufin r/dotnet • Recommends

On “Git flow, Github flow, or ?”

Trunk based imo. The less ceremony the better. Given you have a good automated test suite. We release to production several times a day, if we had to go through git flow hell every time it would be a mess. Though we do use feature branches from time to time, specially if its a bit larger change (>1 day). Check these for inspiration link to this video link to this video

u/jamietwellsin r/programming • Recommends

On “Pair programming antipatterns”

>he never even heard of a development branch He advocates TBD: link to this video Git Flow is antithetical to extreme programming too.