Сайтқа өзіңіздің GitHub есептік жазбаңызды байланыстырыңыз, сонда біз екеуін де екі бағытта үндестіріп отырамыз. Бұл — тегін, өзіңіз қосқанша өшірулі болады және біз өзгерістерді тек өзіңізге тиесілі есептік жазбаның репозиторийіне енгіземіз (commit) — ешқашан біздікіне емес.
Не үндестіріледі
Сайтыңыздың файлдарына қандай да бір өзгеріс енгізсеңіз, ол қалай жасалғанына қарамастан репозиторийіңіздегі коммитке айналады: файлдар реттеуіші, SFTP, WordPress тақырыптар редакторы немесе SSH сеансы арқылы. Бізге хабарлаудың қажеті жоқ — біз сайтыңызды соңғы коммитпен салыстырып, айырмашылықты жібереміз (push).
Кері бағытта, байланыстырылған тармаққа жасалған push сайтқа жеткізіледі.
Біз нені ешқашан жібермейміз
wp-config.php файлыңыз қасақана және біржола шығарылған. Онда дерекқор құпиясөзі мен аутентификация тұздары сақталады, ал олардың репозиторийде болмауы тиіс — тіпті жеке репозиторийде де, себебі git тарихты мәңгі сақтайды.
Сондай-ақ мыналар шығарылған: .env файлдары, кілттер мен сертификаттар, uploads қалтаңыз, кэштер және node_modules. Репозиторий — бұл сақтық көшірме емес, сайтыңыздың бастапқы коды. Медиафайлдар сақтық көшірмелерге тиесілі, олар онда қазірдің өзінде бар, ал оларды осында орналастыру әрбір push әрекетін баяулатып, кез келген өзгерісті оқылмайтын етер еді.
Екі жақ та өзгерсе, не болады
Бұл оқуға тұрарлық сұрақ. Айталық, сіз файлды файлдар реттеуішінде өңдедіңіз, ал сол уақытта әріптесіңіз сол репозиторийге өзгерісті push жасады.
Біз тоқтаймыз. Біз біріктірмейміз және ешкімнің дерегін қайта жазбаймыз. Сайттың Deploy қойындысында "Сіздің репозиторийіңізде біз әлі көрмеген өзгерістер бар" деген хабарлама шығады, қарап шығу керек коммитті көрсетеді және сізді күтеді. Күту кезінде екі жақтан да ештеңе жоғалмайды — сіздің түзетуіңіз әлі де сайтта, ал олардың коммиті әлі де репозиторийде.
Одан кейін өзіңіз таңдайсыз:
- Осы сайттың файлдарын сақтау — біз сіздің нұсқаңызды олардың нұсқасының үстіне орналастырамыз. Олардың коммиттері тарихта қалады; ештеңе өшірілмейді.
- Репозиторийді пайдалану, сайттағы өзгерістерді жоққа шығару — сайтқа репозиторий нұсқасы қолданылады, ал осында жасалған өзгерістеріңіз жойылады. Бұл әрекет қайтарымсыз, сондықтан ол біздің атыңыздан жасалатын нәрсе емес, саналы түрде басылатын түйме болып табылады.
Мұнда «автоматты түрде біріктіру» опциясы әдейі қарастырылмаған. Біз тарапынан орындалған біріктіру ешқайсыңыз жазбаған және алдын ала көрмеген файлды жұмыс істеп тұрған сайтта пайда етер еді.
Үндестіру неге тоқтап қалуы мүмкін
- Өзіңіздің GitHub есептік жазбаңызды байланыстырмадыңыз. Байланыстырмайынша, ауыстырғыш өшірулі болады.
- Ол сізді күтуде. Жоғарыдағыны қараңыз — кідірту өздігінен шешілмейді.
- Есептік жазбаңыздың мәртебесі дұрыс емес. Есеп айырысу реттелген соң, үндестіру өздігінен тоқтап, қайта жалғасады. Ештеңе жоғалмайды.
Deploy қойындысы соңғы бірнеше үндестіруді, соның ішінде ештеңе өзгермеген жағдайларды да көрсетеді. Егер бұл тізім бос болса және үндестіру қосулы тұрса, байланыстырылған есептік жазбада репозиторийге жазу құқығы болмауы мүмкін — оның кіру рұқсаттарын тексеріп, қайта байланыстырыңыз.
Үндестірілетін нәрсені таңдау
Әдепкі бойынша бүкіл сайт үндестіріледі. WordPress сайтында бұл әдетте сізге қажет емес нәрсе: бұл сіз жазбаған және өңдемейтін WordPress өзегінің (core) әрбір файлын білдіреді. "Тек осы қалтаны үндестіру" мәнін тақырыбыңызға орнатыңыз — мысалы wp-content/themes/my-theme — сонда қалғаны қозғалмайды.