I have a web app under source control in git. I have different css files for different customers as well as images and other theme specific things. And also custom reports..
Branches are one way to do it, but since Git is a DVCS, you need to deals with the publication aspect as well (which is orthogonal to branching): what to push to another repo and where?.
Meaning if you start by managing branches for each client, you really need to remember:
git rebase --interactive
) to replay client-specific commits on top of common development commits (which are on the 'dev
' branch foir instance). For this kind of development structure (one common module, several client-specific modules), I would consider a component approach and use git submodules.