I have a generic software product that 3 potential clients customers (maybe more) might be interested in. The thing is for every customer this said generic product will have to be modified/customized according to their specific needs.
The customization entails more or less :
database change requirements
core module & functionality changes
artwork-graphics,logos etc.
Currently I have been using the feature workflow for my generic product development with my team of 5+ developers all contributing towards the generic product repository
Our current workflow on the generic product is similiar to this illustration here -
http://nvie.com/posts/a-successful-git-branching-model/
Now, what i want to do is change the current workflow to something like this below in order to customize every version of the generic product for a customer.
My proposed new git workflow :
Assumptions :
There are 3 customers that need their own specific customized version of the generic product.
FORK from the generic repository creating a new repository for every customer eg.
**generic_customerA** **generic_customerB**and so on.
- Setup users/access rights etc.
- User clones the specific repository eg. generic_customerA
- users make changes,creates branches and commits to his repository.
- user merges the his branch with master
- Push to the remote.
From what i can see the only thing worth worrying about is the amount of repositories that will be created for each customer but its a price worth paying for simplicity sake and less repository management overhead right?