Assuming you have a bitbucket
repository set up and reflecting your production code, you should generally be doing the following:
git checkout -b new-feature # create repository branch `new-feature` to do more work
... make a bunch of changes and test them ...
git add -A # add all of your changed files
git commit -am "Meaningful comment" # comment which goes with your commit describing what you did
git checkout master # get back to master
git merge new-feature # ... and merge your changes into it
git push # push all of your changes to bitbucket
git push heroku # deploy to production with Heroku
Hopefully, many of these commands are familiar already... otherwise, take a look at the docs to make sure you understand first.
Hope this helps.