We're building a project, which will be shipped to three different customers. Gitlab will be used for version control.
For each customer the features are gonna be somewhat different, e.g. different pages or different form validations.
Lacking experience, we struggle to identify the right structure for our repo.
One idea was, to have a master branch with common code. Then create a branch for each customer. Those branches are gonna be deployed later. For each customer branch there could be a feature branch, which could be used for testing and developing new customer related features. Changes on master could be merged into the customer branches as needed. Master branch would have its own dev branch.
Would be glad for all constructive input
You shouldn't have differents customer specific code on one repository. Make a repository for each customer : they can make their own update. Then, if the core need some upgrade commons for all customer, they can pull it from the original repository. Cleaner and easier for everyone (a customer doesn't need to know the what happend for the others).