I'm building a site with certain functionality that I will use for Client 1. Then I need to have the exact same site, with the same addons, same fieldsets but different theme and different content. And so on :-)

My question is how I can store such a project on git and how to organize it.

When working locally, I want to be able to update the once or add a module a single time and when I deploy I want all sites to be updated. The deploy process will surely contain symlinking content that aren't stored on git and client specific.

Anyone who has any good tips on how to handle this? Most preferable would be if all content (pages/client specific data) could live in it's own directory and all shared functionality whould reside in some global scope.

If possible (but it's not right now what I understand) would be to have all sites using the same code base. But as long as I can separate client specific content from "source code" then I'd be good :)

Do you understand what I mean and what I'm trying to achieve? :)

Thanks in advance!