Свържете своя собствен GitHub профил към сайт и ние ще поддържаме двата в синхрон в двете посоки. Това е безплатно, изключено е, докато не го включите, и ние правим commit само в хранилище в профил, който притежавате — никога в някое от нашите.
Какво се синхронизира
Всяка промяна, която правите във файловете на вашия сайт, се превръща в commit във вашето хранилище, независимо как сте я направили: файловият мениджър, SFTP, редакторът на теми на WordPress или SSH сесия. Не е необходимо да ни уведомявате — ние сравняваме вашия сайт с последния му commit и изпращаме (push) разликата.
В обратната посока, push към вашия свързан клон се отразява на сайта.
Какво никога не commit-ваме
Вашият wp-config.php е изключен, умишлено и за постоянно. Той съдържа паролата за вашата база данни и ключовете за удостоверяване (salts), а те нямат място в хранилище — дори в частно такова, защото git пази историята завинаги.
Също така са изключени: .env файлове, ключове и сертификати, вашата папка с качвания (uploads), кешове и node_modules. Хранилището е изходният код на вашия сайт, а не резервно копие. Медийните файлове принадлежат към вашите резервни копия, където вече се съхраняват, а поставянето им тук би направило всеки push бавен и всяка промяна нечетима.
Какво се случва, ако и двете страни са променени
Това е въпросът, който си струва да се прочете. Да речем, че редактирате файл във файловия мениджър, а междувременно колега изпраща (push) промяна в същото хранилище.
Ние спираме. Не обединяваме (merge) и не презаписваме никого. Разделът Deploy на сайта показва „Хранилището ви има промени, които не сме виждали“, посочва commit-а, който трябва да прегледате, и ви чака. Нищо не се губи от нито една от страните, докато чака — вашата редакция все още е на сайта, техният commit все още е в хранилището.
След това вие избирате:
- Запазете файловете на този сайт — ние поставяме вашата версия върху тяхната. Техните commit-и остават в историята; нищо не се изтрива.
- Използвайте хранилището, отхвърлете промените в сайта — версията на хранилището се прилага към сайта, а промените, които сте направили тук, се отхвърлят. Това действие е разрушително, поради което изисква съзнателно кликване и никога не е нещо, което правим от ваше име.
Умишлено няма опция за „автоматично обединяване“. Обединяване, извършено от нас, би създало файл, който никой от вас не е написал, на работещ сайт, без никой от вас да го е видял предварително.
Защо синхронизирането може да спре
- Не сте свързали своя собствен GitHub профил. Превключвателят остава изключен, докато не го направите.
- Очаква вашето действие. Вижте по-горе — задържането не се изчиства само.
- Профилът ви не е с редовен статус. Синхронизирането спира на пауза и се възобновява автоматично, след като фактурирането бъде уредено. Нищо не се губи.
Разделът Deploy показва последните няколко синхронизации, включително тези, при които нищо не се е променило. Ако този списък е празен и синхронизирането е включено, свързаният профил най-вероятно не може да записва в хранилището — проверете достъпа му и го свържете отново.
Избиране на това какво се синхронизира
По подразбиране се синхронизира целият сайт. При сайт на WordPress това обикновено не е това, което искате: това означава всеки файл от ядрото на WordPress, който не сте написали и няма да редактирате. Задайте „Синхронизиране само на тази папка“ на вашата тема — например wp-content/themes/my-theme — и останалото се оставя непроменено.