в дополнение к хукам (я не в курсе, какие хуки предоставляет bitbucket, а локального
post-push хука в Git нет):
не обязательно "заходить по SSH на хостинг", чтобы там вытянуть изменения (я подозреваю, что это происходит "ручками", что и надоело, ибо надо зайти, сменить каталог, выполнить
git pull... так?)
это можно и автоматизировать, т.к. ssh - не обязательно интерактивная сессия. позволяет и выполнить команду (ssh <host> command)
то есть
ssh <remotehost> git pull --work-tree=<working_copy> --git-dir=<working_copy>/.git
зайдёт на <remotehost>, сделает
git pull для каталога , и выйдет.
А вкупе с
alias'ами Git'а, можно сделать
alias вроде
git config --global alias.push_and_deploy '!git push <bitbucket> && ssh <remotehost> git pull --work-tree=<working_copy> --git-dir=<working_copy>/.git'
тогда при выполнении
git push_and_deploy
выполнится всё, что указано в
alias'е (подробнее см.
git alias --help), то есть код запушится на BitBucket, и если это будет успешно, то вытянется сразу на хостинге