Workflow when you only have FTP access?
I absolutely agree with "build locally and then upload it".

Deploybot can deploy with ftp, and makes it quite painless to keep local and remote and git repo all in sync.

I make debugging sorts of changes directly on the server (tweak the config, tweak .htaccess, that sort of thing), but any change I want to keep I make sure to get into git.