Обычно так не делают, есть такое понятие как CI/CD
1) Локальная разработка допустим в feature бранче
2) Пуш на remote репозиторий (допустим это github, gitlab, bitbucket)
3) Как только фича готова - merge request в мастер ветку
4) По комиту в мастер ветку запускается CI/CD, скрипт - (запускает докерв который клонируется репозиторий, запускается инсталяция npm пакетов если нужно, запускается сборка в папку например site из папки site при помощи scp все собранное копируется на хостинг)
Держать папку .git на хостинге - не лучшая идея
https://bitbucket.org/product/ru/features/pipelines
https://docs.gitlab.com/ee/ci/
https://www.jetbrains.com/teamcity/promo/free-ci/