@spencergt, just to clarify, Netlify deploys sites in an atomic way. Basically, it creates new instances of the site and points to the latest instance (deploy) or whichever one you set. Each deploy is a complete site so you can’t update pieces of it (which is probably what you want to do with your function).
That said, I suggested the cli to avoid having to rebuild the site, but you have to still deploy it the existing site (even with no change). Our system will see that there is no change and will not require those files to be re-uploaded. If you omit your site, that will be seen as a change (empty site vs existing site).
In summary, no, you can’t JUST deploy a function to an existing site. But there are ways to avoid rebuilding a site that has not changed. For example, you can use a build plugin (https://www.npmjs.com/package/netlify-plugin-cache) that caches your built site and only rebuild if that has changed.
Hopefully that clarifies how deploys are done and provide a way to accomplish your goal.