On large teams it is very important that everyone understands and follow the same branching model/workflow. One of very popular branching workflow is GitFlow, however with distributed and novice team following GitFlow is difficult. So over a period of time I have been following simple 3 branch model for development which works fine for agile and continuous delivery software development method.

3 Branch workflow model


Challenges with following GitFlow on large distributed teams

  1. Team to be at advance level of using Git version control with good hold on branching, merging techniques.
  2. Limited number of downstream environments (DEV, QAT, UAT, …) it is not possible to deploy all features changes for testing, showcase/demo purpose at a time.
  3. Refactoring becomes difficult since it creates lot of merge issues across feature branches.

Slides

Slides are available here