One click deployment on a VPS for a backbonejs + nodejs application

I have a application built on top of nodejs, backbonejs, requirejs, expressjs, mongodb etc. I have deployed the application on a cloud VPS running on CENT OS. Every time a client asks me to make a minor change, I need to track the number of files that have been changed and then upload the selective files to the server and then restart the node server. I am thinking of investing some time in generating a quick one-click deployment process (this happens in google app-engine applications in eclipse IDE).

So the deployment should consist of the following:

  1. As soon as I decide to deploy the application, it should compare each and every file between server and local to know which files needs to be updated/added (its a git repository)
  2. Once the identification is complete, the process should start transferring the files from local to remote without warnings like (overwrite yes/no etc.)d
  3. Once that is done, node server should be restarted by itself (I use forever.js to keep the server running)
  4. (optional) Once deployment is finished, it should always sync the remote mongodb to local and not the vice versa. This will update the local database with the remote.

Any starting point/takers for this?