ALWAYS maintain your files locally and only upload changes. For one thing, it's the only backup option you really have (backups created by the host are for server-wide disaster recovery only, and any backups you maintain on the server will go away if you have a problem with your account). For another, file changes are far less fragile when saved locally. And you should be using a version control system/repository (git, Mercurial, or something similar) and backing up or replicating the repository to a separate drive. And testing should not be happening on the production server, ever.