Smart commits is an excellent feature to link BitBucket commits - and the code changes - to JIRA issues. However, if a user forgets to add the issue key to the commit and then pushes upstream, it's very hard (without breaking the git repo for others) to add the issue key to the commit message. It would therefore be very useful to be able to manually link an earlier commit - and its code - to an existing JIRA issue, as if the issue key had been included in the commit message.
The commit message doesn't need to be changed, but the code changes and commit ID should be added to the issue.
This could be done with a separate UI to attach JIRA issues to an existing commit. When displaying JIRA issues, in addition to searching in the commit message, it would also search the new JIRA-issue-and-commit association configured via the new UI.
The same thing could be applied to branches. Pull requests might be fine, as we could easily update the pull request title to include the issue key.