Повежите сопствени GitHub налог са сајтом и ми ћемо их усклађивати у оба смера. Ово је бесплатно, искључено је све док га не укључите и ми правимо измене (commit) искључиво у репозиторијуму на налогу који поседујете — никада на неком од наших.
Шта се синхронизује
Све што промените у датотекама свог сајта постаје commit у вашем репозиторијуму, без обзира на то како сте то изменили: преко менаџера датотека, SFTP-а, WordPress уређивача тема или SSH сесије. Не морате да нас обавештавате — упоређујемо ваш сајт са његовим последњим commit-ом и шаљемо (push) разлику.
У супротном смеру, свако слање (push) на вашу повезану грану преноси се на сајт.
Шта никада не бележимо у commit
Ваша датотека wp-config.php је изузета, намерно и трајно. Она садржи лозинку ваше базе података и ваше сигурносне кључеве (salts), а њима није место у репозиторијуму — чак ни у приватном, јер git заувек чува историју.
Такође су изузети: .env датотеке, кључеви и сертификати, ваша фасцикла са отпремљеним датотекама (uploads), кеш меморија и node_modules. Репозиторијум представља изворни код вашег сајта, а не резервну копију. Медијским датотекама је место у вашим резервним копијама, где се већ и чувају, а њихово додавање овде успорило би свако слање и учинило сваку промену непрегледном.
Шта се дешава ако су обе стране измењене
Ово је питање на које вреди обратити пажњу. Рецимо да измените датотеку у менаџеру датотека, а у међувремену колега пошаље промену у исти репозиторијум.
Ми се заустављамо. Не спајамо измене (merge) и не преписујемо ничији рад. На картици Deploy вашег сајта приказује се порука "Your repository has changes we haven't seen", наводи се commit који треба да погледате и систем вас чека. Ништа није изгубљено ни на једној страни док систем чека — ваша измена је и даље на сајту, њихов commit је и даље у репозиторијуму.
Затим бирате:
- Keep this site's files — постављамо вашу верзију преко њихове. Њихови commit-ови остају у историји; ништа се не брише.
- Use the repository, discard site changes — верзија из репозиторијума се примењује на сајт, а промене које сте овде направили се одбацују. Ова радња је деструктивна, због чега захтева свестан клик и представља нешто што никада не радимо у ваше име.
Опција за „аутоматско спајање” намерно не постоји. Спајање које бисмо ми извршили створило би датотеку коју нико од вас није написао, на сајту који је уживо, а да је нико од вас претходно није прегледао.
Зашто би синхронизација могла да се заустави
- Нисте повезали сопствени GitHub налог. Прекидач остаје искључен док то не учините.
- Чека на вас. Погледајте изнад — задржавање се не уклања само од себе.
- Ваш налог није уредног статуса. Синхронизација се паузира и аутоматски наставља када се измире сва плаћања. Ништа није изгубљено.
Картица Deploy приказује последњих неколико синхронизација, укључујући и оне у којима није било промена. Ако је та листа празна, а синхронизација укључена, повезани налог највероватније нема дозволу за уписивање у репозиторијум — проверите његова права приступа и повежите га поново.
Одабир онога што се синхронизује
Подразумевано се синхронизује цео сајт. На WordPress сајту то обично није оно што желите: то подразумева сваку датотеку WordPress језгра, коју нисте ви написали и коју нећете уређивати. Подесите "Sync only this folder" на своју тему — на пример wp-content/themes/my-theme — и све остало остаје нетакнуто.