I am using Git for a Visual Studio solution. Here is the structure of the sol.
myProject.Domain, myProject.Common, myProject.Core, webClientForCustomer1, webClientForCustomer2
As the names imply, webClient projects all depend on Domain, Common and Core projects. I create a new web client app for each customer and make UI customizations. I add new features to other three projects, so web client projects must be updated with the new features.
What is your suggestion to model my repository into branches?