github как прослойка для синхронизации dev и production / Русскоязычное сообщество MODX

Заранее простите, вопрос не связан напрямую с modx, но я знаю это сообщество как отзывчивое и опытное, поэтому спрошу совета.

Вопрос об использовании git и github для синхронизации между сайтом на котором ведется разработка (dev) и работающим (production).

Очень часто бывает ситуация, когда приходит уже работающий проект, без разницы на каком движке. Сео специалисты и прочие товарищи говорят — жуть — все нужно переделывать. Чтобы не работать на живом сайте, делаю тестовый (копию рабочего), работаю с ним, затем вручную через FTP переношу изменения.
Но ведь вроде как раз это и делает система версий GIT.

Короче говоря, ближе к делу. Пытаюсь сегодня выстроить некую схему работы с двумя сайтами на разных доменах, один их которых dev второй production с возможностью синхронизации через github. И что-то не складывается у меня этот велосипед.

Есть site.ru и dev-site.ru (полная копия первого). В IDE создаю проект локальный, подключаюсь к серверу на котором dev, выбираю какие папки из сайта мне понадобятся при разработке, настраиваю синхронизацию. Локальный проект на компьютере беру под контроль версий, создаю на github репозиторий и пушу туда изменения. Добиваюсь желаемого результата на dev и хочу перенести изменения на production.

Подключаюсь через SSH к серверу, захожу в папку с живым проектом и дальше я чего-то не понимаю. Я вижу только 2 способа получить изменения из репозитория на github. Первый — склонировать его. Однако клонирование всегда происходит в папку, а нужно чтобы файлы попали в корень. Зачем мне папка внутри сайта, из которой потом придется руками разносить все файлы по нужным директориям. Есть возможность при клонировании указать в качестве имени папки точку, однако это работает только если директория пустая. А в нашем случае корневая директория работающего сайта не может быть пустой. Второй способ — инициализировать в корне работающего сайта новый репозиторий, подключить удаленный репозиторий github через git remote add и сделать pull с него.
Но и тут неудача. Через некоторый промежуток времени консоль выдает, что fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Буду рад советам, как кто решает такую казалось бы элементарную задачу.

Спасибо.

Александр Мельник

11 февраля 2018, 19:57