Use git version control and let GitFTP-Deploy take care of the rest.
Develop and write your code
Save your changes, commit (and write a good commit message).
GitFTP-Deploy figures out what's new and will only upload your changes.