I am currently thinking of the following branching strategy
- Main branch
- Development branch
- Feature branch
- Release branch
Basically the whole idea is to have a release branch so that hot fix can be applied quickly for specific release.
Here is the issue what if I have an urgent feature that I need to do for a specific customer and I do not want those feature to be applied to other customer using the same release version until it is fully tested. At the same time I do not wish to create multiple release branches for different customers as this will complicate stuff.
What is the best way to handle such situation?