staging push should have option to remove files from destination that are not on the source server
currently staging push only does the incremental changes. so if i make a staging, delete a plugin, and then push to live, the live site will still have the plugin. There should be an option such that the stuff i delete on the staging will be removed when pushing to live. If you use rsync in the background, just add a --delete option to it it isn't that much to change.
We have added the ability to overwrite during push/pull operations For more details please review https://support.cloudways.com/en/articles/5124886-how-to-create-a-staging-environment