База знания

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

Проmените, които правите в сайта си, се превръщат в стрийкове във вашия собствен репозиториум, а това, което изпращате там, попада във вашия сайт. Това е безплатно и ето какво се случва, когато двете страни се променят едновременно.

Свържете собствения си GitHub акаунт със сайт и ние ще поддържаме двете в синхрон и в двете посоки. Той е безплатен, изключен е, докато не го включите, и ние правиме commit само в репозитори в акаунт, който притежавате – никога в някой от нашите.

Какво се синхронизира

Всичко, което промените във файловете на вашия сайт, се превръща в commit във вашето репозитори, независимо как сте го променили: файловия мениджър, SFTP, редактора на теми на WordPress или SSH сесия. Не е нужно да ни уведомявате – сравняваме вашия сайт с последния му commit и изпращаме (push) разликата.

В обратната посока, push към свързания ви клон попада на сайта.

Какво никога не пращаме в commit

Вашият wp-config.php е изключен, умишлено и за постоянно. Той съдържа паролата за вашата база данни и ключовете за удостоверяване (salts) и те не принадлежат на репозитори – дори и на частно, защото git пази историята завинаги.

Също така са изключени: файловете .env, ключове и сертификати, вашата папка с качвания (uploads), кешове и node_modules. Репозитори е изходният код на вашия сайт, а не архив. Медийните файлове принадлежат към вашите архиви, където вече се пазят, а поставянето им тук би направило всеки push бавен и всяка промяна нечетлива.

Какво се случва, ако и двете страни са се променили

Това е въпросът, който си струва да прочетете. Да кажем, че редактирате файл във файловия мениджър и междувременно колега изпрати промяна (push) към същото репозитори.

Ние спираме. Ние не обединяваме (merge) и не презаписваме никого. Разделът „Деплой“ на сайта показва „Вашето репозитори има промени, които не сме виждали“, посочва името на commit-а, който трябва да разгледате, и чака за вас. Нищо не се губи от нито една от двете страни, докато чака – вашата редакция е все още на сайта, техният commit е все още в репозитори.

След това избирате:

  • Запазване на файловете на този сайт – поставяме вашата версия върху тяхната. Техните commit-и остават в историята; нищо не се заличава.
  • Използване на репозитори, отхвърляне на промените в сайта – версията на репозитори се прилага към сайта, а промените, които сте направили тук, се отхвърлят. Тази опция е деструктивна, поради което изисква умишлено кликване и никога не е нещо, което правим от ваше име.

Няма опция „автоматично обединяване“ (merge automatically), и то умишлено. Обединяване, извършено от нас, би произвело файл, който никой от двама ви не е написал, на жив сайт, без никой от двама ви да го е видял предварително.

Защо синхронизирането може да спре

  • Не сте свързали собствения си GitHub акаунт. Превключвателят остава изключен, докато не го направите.
  • Чака ви. Вижте по-горе – паузата не се изчиства сама.
  • Вашият акаунт не е в добро състояние. Синхронизирането временно спира и се възобновява само, когато фактурирането бъде актуализирано. Нищо не се губи.

Разделът „Деплой“ показва последните няколко синхронизации, включително тези, при които нищо не се е променило. Ако този списък е празен и синхронизирането е включено, свързаният акаунт най-вероятно няма права за запис в репозитори – проверете достъпа му и го свържете отново.

Избор какво да се синхронизира

По подразбиране се синхронизира целият сайт. На сайт с WordPress това обикновено не е това, което искате: то означава всеки файл от ядрото на WordPress, който не сте написали и няма да редактирате. Задайте „Синхронизиране само на тази папка“ (Sync only this folder) на вашата тема – например wp-content/themes/my-theme – и останалото се оставя на мира.

Все още изпитвате затруднения?

Поддръжката е включена във всеки план с отговори на вашия собствен език.

Свържете се с поддръжката Всички статии
Двупосочна синхронизация с вашето GitHub хранилище