Salut,
Si tu versionnes ton code avec git et que tu veux push ton code sur un serveur ftp, je te conseille git-ftp. Je te laisse voir l'exemple d'utilisation dans le README et le process d'installation là.
Pour synchroniser deux dossiers, un local et un remote, Cyberduck semble avoir un outil adapté. Apparemment, il surligne les fichiers qui sont différents avant de faire la synchronisation.