I am working on a project, where my code/db reside on a local VM (Ubuntu server) sitting on my windows machine.
My workflow is the currently:
1. Write code on desktop
2. Push changes to GIT
3. Go to VM and pull git changes
4. Test code on VM
I understand there are tools to improve this workflow (Vagrant+Puppet), but I am curious to hear what other dev environments/workflows look like or work for others.
You could use git from the start if you wish, this will keep a history of how your code evolved and you will also be able to use an older version of the code if necessary.
My suggestion was that it is faster to code directly on the VM or use rsync, than to push code on GitHub and pull it on the VM.
Expandrive also works ok and its easy to setup, but IIRC what worked better for me in the same setup (Windows host + Ubuntu VM) was the old solution that I was avoiding all the time: Samba.