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
- Team to be at advance level of using Git version control with good hold on branching, merging techniques.
- 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.
- Refactoring becomes difficult since it creates lot of merge issues across feature branches.
Slides are available here