There are a million different ways WordPress developers set up their environment to build a new site. Through our experience, this is the ideal set up that works for us and we think it's worth a try.
The Ideal custom WordPress Theme Setup:
Develop Locally using Shifter-Local
Migrate your DB changes and Uploads using AIO WP Migration if necessary
Track Theme changes via Git
Deploy Theme changes tracked in Git with WP Pusher
Going from Local to Develop to Production
For example, here is a quick overview and step by step of deploying your custom Theme changes.
Create a new local site using Shifter-Local
Install your custom Theme, develop your code and commit your changes
Push changes to Github, Bitbucket, etc.
Create a new site on Shifter
Install AIO WP MIgration and WP Pusher
Create an export from your local site with AIO WP MIgration. Select just what you need such as DB, Media Uploads, etc.
Upload that backup to your newly created site on Shifter
Add your custom to WP Pusher's settings, sync an and activate that Theme
Test to ensure your data and theme is correct
Generate a new Artifact
After the initial setup, the process is simple. From your local env, commit your new changes to Git and push. Log into Shifter and pull them down.
At this time, that process it not automated but when Shifter Webhooks become available we are hoping to add this feature.
Is this the only way?
Nope! There are so many ways that developer prefer to work and we can't cover them all here. But if you do have a suggestion, let us know and we'll give it a try and add it to the official docs.