title: How should i version control a software that has multiple variants for multiple customers?
body: <p>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?</p>
  <p>Edit: To be more accurate, i mean the variants are <strong>strictly individual</strong>. So i have the base software <em>A</em>, variant <em>B</em> and variant <em>C</em>, these 3 variants only shares the <em>A</em> codebase, modifies <em>B</em> and <em>C</em> are 100% distinct, have different versions as well. In the future i may have to set up even more variants.</p>