How to upload/update theme from local – bitbucket – shared hosting?

In a nutshell there are two basic approaches to this:

  1. Build elsewhere and upload (in one way or another) result to the target server
  2. Do everything right on target server

There is variety of solutions that will do either of this or some mix of the two.

The simplest possible way for the conditions you had given (Bitbucket and server with Git) would be to:

  1. Have Bitbucket make web hook call to your server.
  2. Have server listen to the call and pull changes from specific deployable branch.

Personally I had used myWebHook with success for this scheme. It implements Bitbucket support so it only takes uploading it to server and bit of configuration to have it going.