Połącz własne konto GitHub z witryną, a będziemy utrzymywać synchronizację w obu kierunkach. Jest to bezpłatne, pozostaje wyłączone, dopóki nie zostanie włączone przez Państwa, i wykonujemy commity wyłącznie do repozytorium na Państwa koncie — nigdy na naszym.
Co jest synchronizowane
Wszystko, co zmienią Państwo w plikach swojej witryny, staje się commitem w repozytorium, niezależnie od sposobu wprowadzenia zmiany: menedżer plików, SFTP, edytor motywów WordPress lub sesja SSH. Nie muszą Państwo nas informować — porównujemy witrynę z jej ostatnim commitem i wysyłamy różnicę.
W drugą stronę: push do połączonej gałęzi trafia bezpośrednio na witrynę.
Czego nigdy nie commitujemy
Plik wp-config.php jest wykluczony — celowo i na stałe. Zawiera on hasło do bazy danych oraz klucze uwierzytelniania, a te elementy nie powinny znajdować się w repozytorium — nawet prywatnym, ponieważ git przechowuje historię na zawsze.
Wykluczone są również: pliki .env, klucze i certyfikaty, folder uploads, pamięć podręczna oraz node_modules. Repozytorium to kod źródłowy Państwa witryny, a nie kopia zapasowa. Pliki multimedialne powinny znajdować się w kopiach zapasowych, gdzie są już przechowywane, a umieszczenie ich tutaj spowolniłoby każdy push i uniemożliwiło czytelny podgląd zmian.
Co się stanie, jeśli obie strony ulegną zmianie
To jest kluczowa kwestia. Załóżmy, że edytują Państwo plik w menedżerze plików, a w tym samym czasie współpracownik wysyła zmianę do tego samego repozytorium.
Zatrzymujemy się. Nie łączymy zmian (merge) ani niczego nie nadpisujemy. Karta Deploy witryny wyświetla komunikat „Your repository has changes we haven't seen”, wskazuje commit, który należy sprawdzić, i czeka na Państwa decyzję. Podczas oczekiwania nic nie jest tracone po żadnej ze stron — Państwa edycja nadal znajduje się na witrynie, a commit współpracownika w repozytorium.
Następnie dokonują Państwo wyboru:
- Zachowaj pliki tej witryny — umieszczamy Państwa wersję ponad ich wersją. Ich commity pozostają w historii; nic nie zostaje usunięte.
- Użyj repozytorium, odrzuć zmiany w witrynie — wersja z repozytorium jest stosowana w witrynie, a wprowadzone tu wcześniej zmiany zostają odrzucone. Ta opcja ma charakter destrukcyjny, dlatego wymaga świadomego kliknięcia i nigdy nie jest wykonywana w Państwa imieniu.
Celowo nie ma opcji „scalaj automatycznie”. Scalenie wykonane przez nas wygenerowałoby na działającej witrynie plik, którego żadne z Państwa nie napisało, bez wcześniejszego wglądu z Państwa strony.
Dlaczego synchronizacja może zostać zatrzymana
- Nie połączyli Państwo własnego konta GitHub. Przełącznik pozostaje wyłączony, dopóki tego Państwo nie zrobią.
- Oczekuje na Państwa działanie. Patrz wyżej — wstrzymanie nie ustępuje samoistnie.
- Państwa konto ma nieuregulowany status. Synchronizacja zostaje wstrzymana i wznawia się automatycznie po uregulowaniu płatności. Nic nie zostaje utracone.
Karta Deploy pokazuje kilka ostatnich synchronizacji, w tym te, w których nic się nie zmieniło. Jeśli ta lista jest pusta, a synchronizacja jest włączona, połączone konto najprawdopodobniej nie ma uprawnień do zapisu w repozytorium — prosimy sprawdzić uprawnienia dostępu i połączyć się ponownie.
Wybór elementów do synchronizacji
Domyślnie synchronizowana jest cała witryna. W przypadku witryny WordPress zazwyczaj nie jest to pożądane: oznacza to synchronizację każdego pliku rdzenia WordPress, którego Państwo nie pisali i nie będą edytować. Proszę ustawić opcję „Synchronizuj tylko ten folder” na swój motyw — na przykład wp-content/themes/my-theme — a reszta pozostanie nienaruszona.