Question on development/staging

I’d like to make some major changes to an existing site without bringing it down. If I create a staging site on a test domain/server, how do I copy the changes back to the live site? Never done this before, not sure if a plugin like backupbuddy might be able to help with this?

Thanks for any suggestions!