Білім базасы

GitHub репозиторийіңізбен екі жақты синхрондау

Site-ке енгізген өзгерістеріңіз өзіңіздің репозиторийіңіздегі commit-терге айналады, ал сол жерге жіберген (push еткен) өзгерістеріңіз сайтта пайда болады. Бұл тегін және екі жақта да бір уақытта өзгерістер болған кезде мына жағдай орын алады.

GitHub тіркелгіңізді сайтқа қосыңыз, сонда біз екеуін екі бағытта да үнемі жаңартып отырамыз. Бұл — тегін, сіз қосқанша өшірулі тұрады және біз тек сізге тиесілі тіркелгідегі репозиторийге ғана өзгеріс енгіземіз (біздікіне ешқашан).

Нелер синхрондалады

Сайт файлдарындағы кез келген өзгеріс (оны қай әдіспен өзгертсеңіз де: файл менеджері, SFTP, WordPress тақырып редакторы немесе SSH сеансы арқылы) репозиторийдегі коммит ретінде сақталады. Бізге хабарлаудың қажеті жоқ — біз сайтты соңғы коммитпен салыстырып, айырмашылықты жібереміз.

Керісінше, қосылған тармаққа (branch) жіберілген өзгеріс сайтта көрініс табады.

Нелер ешқашан коммиттелмейді

wp-config.php файлы қасақана әрі түбегейлі түрде қамтылмайды. Онда деректер қорының құпия сөзі мен аутентификация кілттері сақталады, ал олардың репозиторийде (тіпті жеке репозиторийде де) болуы тиіс емес, өйткені git тарихты мәңгі сақтайды.

Сондай-ақ мыналар да кірмейді: .env файлдары, кілттер мен сертификаттар, жүктеулер қалшысы, кэштер және node_modules. Репозиторий — сақтық көшірме емес, сайттың бастапқы коды. Медиа файлдар сақтық көшірмеңізде болуы тиіс (олар онсыз да сақталады), ал мұнда сақтау әрбір жіберуді баяулатып, кез келген өзгерісті оқуды қиындатады.

Екі жақтан да өзгеріс енгізілсе не болады

Бұл оқып шығуға тұрарлық сұрақ. Мысалы, сіз файл менеджерінде бір файлды өңдедіңіз, ал бұл уақытта әріптесіңіз сол репозиторийге басқа өзгеріс жіберді.

Біз тоқтаймыз. Біз біріктірмейміз және ешкімнің деректерін үстінен жазбаймыз. Сайттың «Deploy» (Орналастыру) қойындысында "Репозиторийде біз көрмеген өзгерістер бар" деген жазу шығады, сіз қарауға тиіс коммиттің аты көрсетіледі және сіздің әрекетіңіз күтіледі. Күту кезінде екі жақта да ештеңе жоғалмайды — сіздің өңдеуіңіз сайтта қалады, олардың коммиті репозиторийде қалады.

Содан кейін сіз таңдайсыз:

  • Осы сайттың файлдарын сақтау — біз сіздің нұсқаңызды олардың нұсқасының үстіне қоямыз. Олардың коммиттері тарихта қалады, ештеңе өшірілмейді.
  • Репозиторийді пайдалану, сайт өзгерістерін елемеу — репозиторий нұсқасы сайқа қолданылады, ал мұнда жасаған өзгерістеріңіз жойылады. Бұл — деректерді жоятын әрекет, сондықтан ол автоматты түрде емес, тек сіздің саналы түрде басуыңыз арқылы орындалады.

Әдейі түрде «автоматты түрде біріктіру» опциясы қарастырылмаған. Біз орындаған біріктіру екеуіңіздің ешқайсыңыз алдын ала көрмей тұрып, тікелей жұмыс істеп тұрған сайтта екеуіңіз де жазбаған файлды пайда етер еді.

Синхрондау неге тоқтап қалуы мүмкін

  • Өз GitHub тіркелгіңізді қоспағансыз. Сіз қосқанша ауыстырып-қосқыш өшірулі күйде қалады.
  • Ол сіздің әрекетіңізді күтіп тұр. Жоғарыдағыны қараңыз — кідіріс өздігінен жойылмайды.
  • Тіркелгіңіздің жағдайы дұрыс емес. Төлем жасалғаннан кейін синхрондау автоматты түрде тоқтайды және қайта басталады. Ештеңе жоғалмайды.

«Deploy» (Орналастыру) қойындысы соңғы бірнеше синхрондауды, соның ішінде ешқандай өзгеріс болмаған жағдайларды да көрсетеді. Егер бұл тізім бос тұрса және синхрондау қосулы болса, қосылған тіркелгінің репозиторийге жазуға рұқсаты жоқ болуы ықтимал — оның қатынас құқықтарын тексеріп, қайта қосыңыз.

Синхрондалатын нысандарды таңдау

Әдепкі бойынша бүкіл сайт синхрондалады. WordPress сайтында бұл көбінесе қажет емес: бұл сіз жазбаған және өңдемейтін WordPress жүйесінің әрбір файлын қамтиды. "Sync only this folder" (Тек осы қалтаны синхрондау) параметрін өз тақырыбыңызға орнатыңыз (мысалы, wp-content/themes/my-theme) — қалғаны өзгеріссіз қалады.

Әлі де қиындық туып жатыр ма?

Барлық жоспарларға қолдау көрсету және өз тіліңізде жауаптар кіреді.

Қолдау қызметіне хабарласу Барлық мақалалар