I would really like to use a different approach than copying the entire baseline for each of our customers
Copying? What do you mean?
If baseline, customer1 and customer2 are different repositories of the same codebase, then just add multiple remotes. For example if you need to work on customer1 code, clone customer1
and add baseline
as another remote. Then you can just merge changes from baseline/master
into your local product branch, and then push that on customer1/product1
branch. You may merge that back into baseline/master
if you want to make some changes common to all your customers.
This way you only have one repo locally, sharing all the common references between your similar repositories.
Don't use customer1/master
, as you may have several products for the same customer, so this won't scale, unless you want to store customizations common to all that customer's products.