#90 github utiliza git como control de versiones, si estas familiarizado con github tienes mucho ganado.
Intento explicarte muy por encima:
- Tienes que tener git en tu sistema.
- Inicializas el git en el directorio raiz de tu solución: git init --
- Ya tienes un repositorio vacio sin commits.
- Te recomiendo bajes un .gitignore acorde con el lenguaje/IDE que usas: https://github.com/github/gitignore
- A tu .gitignore le añades tu directorio upload/
- Añades al repo todos los archivos: git add -A
- Realizas el commit inicial: git commit -m "INIT first commit"
En este momento ya tienes un control de cambios en condiciones. Tiene 1000 ventajas además de la que tu necesitas.
Ahora vamos a la que tu necesitas:
Hay 1000 formas mejor de hacer un deploy, pero seguro que esta que te comento es mejor que subir los ficheros por sftp.
GIT es un sistema de control de versiones descentralizado, lo que hace que no es necesario tener un servidor central.
Simplemente instálate GIT en el servidor y clonas tu git en la carpeta donde hosteas tu solución (asegurate que tu NGnix o tu Apache no tienen permisos para leer la carpeta .git
Desde ese momento, simplemte mediante push desde linea de comando llevas todos los cambios que tengas commiteados al servidor y no solo solo sube los cambios, es que solo subira aquellos trozos de ficheros que hayan cambiado.
Git funciona bien mediante ssh (sftp) por lo que no tendrías que tener problemas para montarlo.
En Sublime existen muchos packages que ayudan con GIT. Pero te recomiendo que uses linea de comandos y/o tig.
Si no te gusta la linea de commandos te recomiendo SourceTree de Atlassian.