Připojte k webu svůj vlastní účet GitHub a my budeme udržovat obě strany v souladu v obou směrech. Je to zdarma, funkce je vypnutá, dokud ji nezapnete, a zápisy (commit) provádíme výhradně do repozitáře na účtu, který vlastníte — nikdy do žádného z našich.
Co se synchronizuje
Cokoli změníte v souborech svého webu, se stane commitem ve vašem repozitáři, ať už jste změnu provedli jakkoli: přes správce souborů, SFTP, editor šablon WordPress nebo relaci SSH. Nemusíte nám nic hlásit — porovnáme váš web s jeho posledním commitem a odešleme rozdíl.
V opačném směru se push do vaší připojené větve promítne na webu.
Co nikdy necommitujeme
Váš soubor wp-config.php je záměrně a trvale vyloučen. Obsahuje heslo k vaší databázi a vaše autentizační soli (salts), a ty do repozitáře nepatří — dokonce ani do soukromého, protože git uchovává historii navždy.
Dále jsou vyloučeny: soubory .env, klíče a certifikáty, vaše složka uploads, mezipaměti a node_modules. Repozitář je zdrojový kód vašeho webu, nikoli záloha. Média patří do záloh, kde jsou již uložena, a jejich umístění sem by zpomalilo každý push a znepřehlednilo každou změnu.
Co se stane, pokud se změní obě strany
Toto je otázka, kterou stojí za to si přečíst. Řekněme, že upravíte soubor ve správci souborů a mezitím kolega odešle změnu do stejného repozitáře.
Zastavíme se. Neslučujeme a nikoho nepřepisujeme. Záložka Deploy na webu zobrazí „Your repository has changes we haven't seen“, uvede commit, který je třeba zkontrolovat, a počká na vás. Během čekání se na žádné straně nic neztratí — vaše úprava je stále na webu, jejich commit je stále v repozitáři.
Poté si vyberete:
- Keep this site's files — vaši verzi umístíme nad jejich verzi. Jejich commity zůstanou v historii; nic se nevymaže.
- Use the repository, discard site changes — na web se aplikuje verze z repozitáře a změny, které jste zde provedli, budou zahozeny. Tato volba je destruktivní, a proto vyžaduje vědomé kliknutí a nikdy ji neprovedeme vaším jménem.
Možnost „sloučit automaticky“ záměrně neexistuje. Námi provedené sloučení by na živém webu vytvořilo soubor, který ani jeden z vás nenapsal, aniž by jej kdokoli z vás předem viděl.
Proč se synchronizace může zastavit
- Nepřipojili jste svůj vlastní účet GitHub. Přepínač zůstane vypnutý, dokud tak neučiníte.
- Čeká se na vás. Viz výše — pozastavení se samo nevyřeší.
- Váš účet není v dobrém stavu. Synchronizace se pozastaví a automaticky obnoví, jakmile bude vyřešena fakturace. Nic se neztratí.
Záložka Deploy zobrazuje několik posledních synchronizací, včetně těch, kde se nic nezměnilo. Pokud je tento seznam prázdný a synchronizace je zapnutá, připojený účet s největší pravděpodobností nemůže do repozitáře zapisovat — zkontrolujte jeho přístupová práva a připojte jej znovu.
Výběr toho, co se synchronizuje
Ve výchozím nastavení se synchronizuje celý web. Na webu WordPress to obvykle není to, co chcete: znamenalo by to každý soubor jádra WordPress, který jste nenapsali a nebudete upravovat. Nastavte možnost „Sync only this folder“ na svou šablonu — například wp-content/themes/my-theme — a zbytek zůstane nedotčen.