Wissensdatenbank
Zwei-Wege-Synchronisierung mit Ihrem GitHub-Repository
Änderungen, die Sie an Ihrer Website vornehmen, werden zu Commits in Ihrem eigenen Repository, und was Sie dorthin pushen, landet auf Ihrer Website. Es ist kostenlos, und hier ist, was passiert, wenn sich beide Seiten gleichzeitig ändern.
Verbinden Sie Ihr eigenes GitHub-Konto mit einer Website und wir halten beide Seiten in beiden Richtungen synchron. Sie ist kostenlos, sie ist ausgeschaltet, bis Sie sie einschalten, und wir committen ausschließlich in ein Repository auf einem Konto, das Ihnen gehört – niemals auf einem von uns.
Was synchronisiert wird
Alles, was Sie in den Dateien Ihrer Website ändern, wird zu einem Commit in Ihrem Repository, unabhängig davon, wie Sie es geändert haben: über den Dateimanager, SFTP, den WordPress-Theme-Editor oder eine SSH-Sitzung. Sie müssen uns nichts davon mitteilen – wir vergleichen Ihre Website mit ihrem letzten Commit und pushen den Unterschied.
Umgekehrt landet ein Push auf Ihrem verbundenen Branch auf der Website.
Was niemals von uns committet wird
Ihre wp-config.php ist ausgeschlossen, und zwar bewusst und dauerhaft. Sie enthält Ihr Datenbankpasswort und Ihre Authentifizierungssalts, und diese gehören nicht in ein Repository – nicht einmal in ein privates, da git die Historie für immer behält.
Ebenfalls ausgeschlossen: .env-Dateien, Schlüssel und Zertifikate, Ihr Uploads-Ordner, Caches und node_modules. Ein Repository ist der Quellcode Ihrer Website, kein Backup. Medien gehören in Ihre Backups, wo sie bereits aufbewahrt werden, und diese hier einzufügen würde jeden Push verlangsamt und jede Änderung unlesbar machen.
Was passiert, wenn sich beide Seiten geändert haben
Dies ist die Frage, die es wert ist, gelesen zu werden. Angenommen, Sie bearbeiten eine Datei im Dateimanager und währenddessen pusht ein Kollege eine Änderung an dasselbe Repository.
Wir halten an. Wir führen kein Merge durch und wir überschreiben niemanden. Die Registerkarte „Deploy“ der Website zeigt „Ihr Repository weist Änderungen auf, die wir noch nicht gesehen haben“, nennt den Commit, den Sie sich ansehen müssen, und wartet auf Sie. Während des Wartens geht auf keiner Seite etwas verloren – Ihre Änderung ist immer noch auf der Website, der Commit Ihres Kollegen ist immer noch im Repository.
Sie wählen dann aus:
- Dateien dieser Website behalten – wir legen Ihre Version über deren Version. Die Commits der anderen Person bleiben in der Historie; nichts wird gelöscht.
- Repository verwenden, Website-Änderungen verwerfen – die Version des Repositorys wird auf der Website angewendet und die von Ihnen hier vorgenommenen Änderungen werden verworfen. Diese Option ist destruktiv, weshalb sie einen bewussten Klick erfordert und niemals etwas ist, das wir in Ihrem Namen tun.
Es gibt absichtlich keine Option zum „automatischen Zusammenführen“ („Merge automatically“). Ein von uns durchgeführtes Merging würde auf einer Live-Website eine Datei erzeugen, die keiner von Ihnen geschrieben hat, ohne dass einer von Ihnen sie vorher gesehen hat.
Warum die Synchronisierung stoppen kann
- Sie haben Ihr eigenes GitHub-Konto nicht verbunden. Der Schalter bleibt so lange aus, bis Sie dies tun.
- Sie wartet auf Sie. Siehe oben – eine Unterbrechung hebt sich nicht von selbst auf.
- Ihr Konto ist nicht in gutem Status. Die Synchronisierung pausiert und setzt sich von selbst fort, sobald die Abrechnung auf dem neuesten Stand ist. Es geht nichts verloren.
Die Registerkarte „Deploy“ zeigt die letzten Synchronisierungen an, einschließlich derer, bei denen sich nichts geändert hat. Wenn diese Liste leer und die Synchronisierung eingeschaltet ist, kann das verbundene Konto höchstwahrscheinlich nicht in das Repository schreiben – überprüfen Sie dessen Zugriff und stellen Sie die Verbindung wieder her.
Auswahl dessen, was synchronisiert wird
Standardmäßig wird die gesamte Website synchronisiert. Bei einer WordPress-Website ist das in der Regel nicht das, was Sie möchten: Es bedeutet jede Datei des WordPress-Cores, die Sie nicht geschrieben haben und nicht bearbeiten werden. Stellen Sie „Nur diesen Ordner synchronisieren“ auf Ihr Theme ein – zum Beispiel wp-content/themes/my-theme – und der Rest bleibt unangetastet.
Immer noch nicht weiter?
Der Support ist in jedem Tarif enthalten und antwortet in Ihrer eigenen Sprache.
Support kontaktieren → Alle Artikel →