Підключіть власний обліковий запис GitHub до сайту, і ми синхронізуватимемо їх в обох напрямках. Це безкоштовно, функція вимкнена, доки ви її не ввімкнете, і ми завжди робимо коміти лише до репозиторію вашого власного облікового запису — ніколи до нашого.
Що синхронізується
Будь-які зміни у файлах вашого сайту стають комітом у вашому репозиторії, незалежно від способу їх внесення: через файловий менеджер, SFTP, редактор тем WordPress або сеанс SSH. Вам не потрібно повідомляти нас — ми порівнюємо ваш сайт із його останнім комітом і надсилаємо різницю.
В іншому напрямку: надсилання змін (push) до підключеної гілки застосовується на сайті.
Що ми ніколи не фіксуємо в комітах
Ваш файл wp-config.php виключено навмисно та назавжди. Він містить пароль вашої бази даних і солі автентифікації, яким не місце в репозиторії — навіть у приватному, оскільки git зберігає історію назавжди.
Також виключено: файли .env, ключі та сертифікати, вашу папку завантажень (uploads), кеші та node_modules. Репозиторій — це вихідний код вашого сайту, а не резервна копія. Медіафайлам місце у ваших резервних копіях, де вони вже зберігаються, а їх розміщення тут сповільнить кожне надсилання та зробить кожну зміну нечитабельною.
Що відбувається, якщо зміни внесені з обох сторін
Це питання варте уваги. Припустімо, ви редагуєте файл у файловому менеджері, а в цей час колега надсилає зміну до того самого репозиторію.
Ми зупиняємося. Ми не виконуємо злиття і нічого не перезаписуємо. На вкладці сайту «Deploy» з'являється повідомлення «У вашому репозиторії є зміни, яких ми ще не бачили», вказується коміт, на який вам потрібно звернути увагу, і система чекає на вас. Поки вона чекає, нічого не втрачається з жодної сторони — ваші виправлення залишаються на сайті, а їхній коміт — у репозиторії.
Потім ви обираєте:
- Зберегти файли цього сайту — ми застосовуємо вашу версію поверх їхньої. Їхні коміти залишаються в історії; нічого не видаляється.
- Використати репозиторій, скасувати зміни на сайті — версія з репозиторію застосовується до сайту, а зміни, внесені вами тут, відхиляються. Ця дія є деструктивною, саме тому вона вимагає свідомого натискання і ніколи не виконується нами від вашого імені.
Опції «об'єднати автоматично» немає навмисно. Злиття, виконане нами, створило б на працюючому сайті файл, який ніхто з вас не писав, і без попереднього перегляду кимось із вас.
Чому синхронізація може зупинитися
- Ви не підключили власний обліковий запис GitHub. Перемикач залишається вимкненим, доки ви цього не зробите.
- Очікується дія від вас. Дивіться вище — режим очікування не знімається самостійно.
- Ваш обліковий запис має проблеми зі статусом. Синхронізація призупиняється та відновлюється автоматично, щойно стан оплати буде врегульовано. Нічого не втрачається.
На вкладці «Deploy» відображаються останні кілька синхронізацій, включно з тими, де нічого не змінювалося. Якщо цей список порожній, а синхронізацію ввімкнено, підключений обліковий запис, швидше за все, не має прав на запис до репозиторію — перевірте права доступу та повторіть підключення.
Вибір об'єктів для синхронізації
За замовчуванням синхронізується весь сайт. Для сайту WordPress це зазвичай не те, що вам потрібно: це означатиме кожен файл ядра WordPress, який ви не писали й не будете редагувати. Встановіть параметр «Синхронізувати лише цю папку» для вашої теми — наприклад, wp-content/themes/my-theme — і решта залишиться без змін.