0
Самый простой — через GitHub Actions с экшеном типа `SamKirkland/FTP-Deploy-Action`, кидаешь логин/пароль/ftp-сервер в секреты репы и оно само всё синкает на хостинг. Если лень с экшенами возиться — можно по ssh пушить репу и делать `git pull` прямо на сервере (если хостинг поддерживает git). Ну или по старинке: зипуешь с гитхаба и заливаешь через файл-менеджер, но это колхоз.