Intro: I'm in the initial planning of a WordPress multisite development environment on which the agency I work for will build our client's websites. We are currently building a 'vanilla' theme and we plan to use it as the base theme. The plan involves creating a new child theme per client and using that to create the client theme, keeping the vanilla theme clean from custom code and overrides. Our clients come from the same industry and therefore, they share identical requirements and functionalities accross their websites. Using a multisite setup helps keep everything in one place and just differenting the websites as per their design.
The question: What I cannot clearly come up with is a solution for organizing everything into the versioning and accross the different environments; Each developer should have a dev WP installation with the exact same setup as the staging and production WP setup, an up-to-date version of the vanilla theme and his project files. So I'm thinking 3 separate Git projects that all depend on one another. When I create a new project, I clone WP and vanilla theme into the new project folder and start from there but soon we'll end up with a ton of dev WP installs, is there a way to keep only one and use that one for everyone to develop their own project on?
Also, what workflow is best? Should the dev's WP project pull from the staging server so we all have the same WP setup? I'm also thinking of using a db sync tool to sync the remote and local DBs (remote to local so we all use the same data).
If anyone has done a similar setup I'd like to hear their opinion or suggestions, thanks in advance.