rsync? если у вас vps, то настройте обычный gitlab ci, чтобы девелоп ветку выливал на тестовый стенд, а мастер ветку (или по тегу) - уже на прод. если девелоп выкатили, проверили и там порядок, то сделали rebase мастер ветки от девелопа и запустился авто деплой на прод сервер.