Architecture question


I’m working at quite a large Yii project that is used by 10 clients, I use git and now each client has its own git branch.

Each client wants some extra customizations for its project.

I want to keep the same code so when I make a fix, I can pull for all 10 clients and not having to merge all 10 branches.

So my questions are:

How should this be best done? Some client wants some feature that should be only for that client.

How to extend views, if I only want to modify a small part of a view (For classes extension can be done easy)?