'How should i version control a software that has multiple variants for multiple customers?

I use master branch as production, and dev as development, as protected branches, and use topic branches to develop the codebase, but if a new customer comes up with unique ideas, should i start customer specific protected branches (master and dev), or whole new remote project for them?

Edit: To be more accurate, i mean the variants are strictly individual. So i have the base software A, variant B and variant C, these 3 variants only shares the A codebase, modifies B and C are 100% distinct, have different versions as well. In the future i may have to set up even more variants.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source