Site maintenance/merge changes
You aren't required to make changes directly to your live site, it is bad practice to do this for things other than minor content additions/changes.

You should have at a minimum a dev and production environment.  Your local environment would be dev obviously and there are many ways to sync the changes between dev and live.

If you have ssh access to your server, the best way would probably be to use drush to sync your changes between environments.  There is a good explanation of this method here.

If you don't go the drush route, you could always do it manually by dumping your local db / files and updating the live site.

There is a lot of information on the subject on this site, a good bit of info can be found here.