This assumes that your starting point is a cloud server.
Back it up with TKLBAM.
Temporarily lock your cloud server (if it's a static site that's easy, if a more dynamic site - lock forums/comments etc).
Deploy a fresh local vm and restore your backup to it.
Make the changes you wish to make on your local VM, test etc.
Make a new TKLBAM backup of it.
Restore your new backup to your original server (or even create a fresh instance) and unlock it again (you'll need to reconfigure your DNS etc if you start a fresh instance).
Next time you want to make adjustments or test a new feature - whatever, just repeat the steps...
You could use git or something instead but I like TKLBAM because I can easily move customised servers between different VM solutions and technologies (local VirtualBox, to ProxmoxVE/OVZ and to AWS) and even hardware. As long as I ensure that I put things in the right places to start with I don't have to think about what other things I may have changed or tweaked (or database changes). It all just takes care of itself.
Don't get me wrong, I still use git as well for development but I use that more for smaller projects.
The way I'd do it...
This assumes that your starting point is a cloud server.
Next time you want to make adjustments or test a new feature - whatever, just repeat the steps...
You could use git or something instead but I like TKLBAM because I can easily move customised servers between different VM solutions and technologies (local VirtualBox, to ProxmoxVE/OVZ and to AWS) and even hardware. As long as I ensure that I put things in the right places to start with I don't have to think about what other things I may have changed or tweaked (or database changes). It all just takes care of itself.
Don't get me wrong, I still use git as well for development but I use that more for smaller projects.
[edited to improve clarity]