Some time ago I wrote a post where I that commented use of branches wasn’t a smart choice (actually the post content is much more complex, but people who think that there is a single answer for every problem in the ALM world, understood this and have not seen the photo in a more complete scope).
-they only work with a single branch
-they use Flags to define what features are enabled in production or in development environment
In Visual Studio and C# would be something similar to
I know last code lines suggest PAIN for most of the people, however they are simple enough to add +1 to my theory
On a development team is most important the quality and the level of the members, than the work process or tools defined for the team.
Software development is not for amateurs.
Saludos @ La Finca