То, что вам нужно называется "Система доставки и развёртывания" или "CI/CD". Работает следующим образом:
	- На Git сервере создаётся репозиторий - Github, GitLab и прочие сервисы (есть простые и лёгкие варианты для хостинга на своём сервере)
 
- На сервере в разделе CI/CD настраиваете пайплайн на пуш или пулл-реквест в репозиторий: обычно это запуск скрипта или нескольких в докере
 
- При наступлении данного события сервер запускает пайплайн
 
Обычно пайплайн состоит из нескольких шагов:
	- Сборка
 
- Тестирование
 
- Доставка
 
- Развёртывание
 
В зависимости от особенностей проекта число шагов может меняться. Для доставки и развёртывания есть два стандартных метода: 
	- CI/CD агент на сервере, который выполняет нужные скрипты в контексте оболочки сервера 
 
- Скрипт, который подключается к целевому серверу по SSH и через него же передаёт нужные файлы (артефакты - в контексте CI/CD процессов).