Upload single file to firebase hosting via CLI or other without deleting existing ones?

Disclosure: I work at Firebase

Firebase hosting's command line tools currently requires that you have the entire web site locally, even though it will only upload the files that were modified since the last deploy.

So your only workaround for not would be to have a single machine where all those directories exist, e.g. something like a build or staging server.

We are aware that this is limiting the number of cases that it can be used for.

Update (December 2018): Firebase Hosting now has a REST API. While this still doesn't officially allow you to deploy a single file, you can use it creatively to get what you want. See my Gist here: https://gist.github.com/puf/e00c34dd82b35c56e91adbc3a9b1c412