База знаний

Двусторонняя синхронизация с вашим репозиторием GitHub

Изменения, вносимые вами на сайт, превращаются в коммиты в вашем собственном репозитории, а то, что вы туда отправляете (пушите), оказывается на вашем сайте. Это бесплатно, и вот что происходит, когда обе стороны меняются одновременно.

Подключите собственную учетную запись GitHub к сайту, и мы будем синхронизировать их в обе стороны. Это бесплатно, функция отключена, пока вы ее не включите, и мы делаем коммиты только в репозиторий учетной записи, которой вы владете, но не нашей.

Что синхронизируется

Любые изменения в файлах вашего сайта превращаются в коммит в вашем репозитории, независимо от того, как вы их внесли: через файловый менеджер, SFTP, редактор тем WordPress или сеанс SSH. Вам не нужно нам об этом сообщать — мы сравниваем ваш сайт с последним коммитом и отправляем разницу.

В обратном направлении пуш в вашу подключенную ветку попадает на сайт.

Что мы никогда не коммитим

Ваш файл wp-config.php исключен намеренно и навсегда. В нем хранятся пароль от базы данных и соли для аутентификации, которым не место в репозитории — даже в закрытом, поскольку git хранит историю вечно.

Также исключены: файлы .env, ключи и сертификаты, папка загрузок, кэши и node_modules. Репозиторий — это исходный код вашего сайта, а не резервная копия. Медиафайлы должны храниться в резервных копиях, где они уже есть, а их размещение здесь сделало бы каждый пуш медленным, а любые изменения — нечитаемыми.

Что происходит, если изменения внесены с обеих сторон

Этот вопрос стоит того, чтобы его прочитать. Допустим, вы редактируете файл в файловом менеджере, а коллега тем временем отправляет изменения в тот же репозиторий.

Мы останавливаемся. Мы не выполняем слияние и ничего не перезаписываем. На вкладке «Развертывание» сайта отображается текст «В вашем репозитории есть изменения, которые мы еще не видели», указывается коммит, который вам нужно посмотреть, и система ждет ваших действий. Пока она ждет, ни с одной стороны ничего не теряется — ваша правка остается на сайте, а коммит коллеги — в репозитории.

Затем вы выбираете:

  • Сохранить файлы этого сайта — мы заменим их версию вашей. Коммиты коллеги остаются в истории, ничто не удаляется.
  • Использовать репозиторий, отменить изменения на сайте — версия из репозитория применяется к сайту, а сделанные вами здесь изменения отменяются. Это действие является деструктивным, поэтому оно требует осознанного клика и никогда не выполняется нами за вас.

Опция «автоматическое слияние» намеренно отсутствует. Слияние, выполненное нами, создало бы на работающем сайте файл, который никто из вас не писал, и при этом ни один из вас не увидел бы его заранее.

Почему синхронизация может остановиться

  • Вы не подключили собственную учетную запись GitHub. Переключатель остается выключенным, пока вы это не сделаете.
  • Она ожидает ваших действий. См. выше — пауза не снимается сама по себе.
  • Ваш аккаунт имеет задолженность. Синхронизация приостанавливается и возобновляется автоматически после оплаты. Ничего не теряется.

На вкладке «Развертывание» отображаются последние несколько сеансов синхронизации, в том числе те, в ходе которых ничего не изменилось. Если этот список пуст и синхронизация включена, скорее всего, подключенная учетная запись не имеет прав на запись в репозиторий — проверьте ее доступы и переподключите.

Выбор синхронизируемых объектов

По умолчанию синхронизируется весь сайт. Для сайта WordPress это обычно не то, что вам нужно: это означает каждый файл ядра WordPress, который вы не писали и не будете редактировать. Установите параметр «Синхронизировать только эту папку» для вашей темы — например, wp-content/themes/my-theme — и все остальное останется нетронутым.

Всё ещё нужна помощь?

Поддержка включена в каждый тарифный план, а ответы предоставляются на вашем родном языке.

Обратиться в поддержку Все статьи