Koppel uw eigen GitHub-account aan een site en wij houden beide kanten in beide richtingen synchroon. Het is gratis, het staat uit totdat u het inschakelt, en we voeren alleen commits uit naar een repository op een account waarvan u de eigenaar bent — nooit een van ons.
Wat wordt gesynchroniseerd
Alles wat u wijzigt in de bestanden van uw site wordt een commit in uw repository, ongeacht hoe u het hebt gewijzigd: via bestandsbeheer, SFTP, de WordPress-thema-editor of een SSH-sessie. U hoeft het ons niet te laten weten — we vergelijken uw site met de laatste commit en pushen het verschil.
Andersom belandt een push naar uw gekoppelde branch direct op de site.
Wat we nooit committen
Uw wp-config.php is uitgesloten, bewust en permanent. Dit bestand bevat uw databasewachtwoord en uw authenticatiesalts, en die horen niet thuis in een repository — zelfs niet in een privé-repository, omdat git de geschiedenis voor altijd bewaart.
Eveneens uitgesloten: .env-bestanden, sleutels en certificaten, uw uploadmap, caches en node_modules. Een repository is de broncode van uw site, geen back-up. Media hoort thuis in uw back-ups, waar het al wordt bewaard, en als u het hier plaatst, wordt elke push traag en elke wijziging onleesbaar.
Wat er gebeurt als beide kanten zijn gewijzigd
Dit is de vraag die de moeite waard is om te lezen. Stel dat u een bestand bewerkt in het bestandsbeheer, en ondertussen pusht een collega een wijziging naar dezelfde repository.
We stoppen. We mergen niet en we overschrijven niemand. Het tabblad Deploy van de site toont "Your repository has changes we haven't seen", noemt de commit die u moet bekijken en wacht op u. Terwijl het wacht gaat er aan geen van beide kanten iets verloren — uw bewerking staat nog steeds op de site, hun commit staat nog steeds in de repository.
U kiest vervolgens:
- De bestanden van deze site behouden — we plaatsen uw versie boven op die van hen. Hun commits blijven in de geschiedenis staan; er wordt niets gewist.
- De repository gebruiken, sitewijzigingen negeren — de versie van de repository wordt toegepast op de site en de wijzigingen die u hier had aangebracht, worden verwijderd. Deze actie is destructief, daarom is het een bewuste klik en nooit iets wat we namens u doen.
Er is bewust geen optie voor "automatisch mergen". Een door ons uitgevoerde merge zou leiden tot een bestand dat geen van beiden heeft geschreven, op een live site, zonder dat een van beiden het eerst heeft gezien.
Waarom synchronisatie kan stoppen
- U hebt uw eigen GitHub-account niet gekoppeld. De schakelaar blijft uit totdat u dit doet.
- Het wacht op u. Zie hierboven — een wachtstand lost zichzelf niet op.
- Uw account heeft een betalingsachterstand. De synchronisatie wordt gepauzeerd en hervat vanzelf zodra de facturering up-to-date is. Er gaat niets verloren.
Het tabblad Deploy toont de laatste paar synchronisaties, inclusief degene waarbij niets was gewijzigd. Als die lijst leeg is en synchronisatie is ingeschakeld, kan het gekoppelde account hoogstwaarschijnlijk niet naar de repository schrijven — controleer de toegang en koppel opnieuw.
Kiezen wat wordt gesynchroniseerd
Standaard wordt de hele site gesynchroniseerd. Op een WordPress-site is dat meestal niet wat u wilt: het betekent elk bestand van de WordPress-core, dat u niet zelf hebt geschreven en niet zult bewerken. Stel "Alleen deze map synchroniseren" in op uw thema — bijvoorbeeld wp-content/themes/my-theme — en de rest wordt met rust gelaten.