Kendi GitHub hesabınızı bir siteye bağlayın, biz de her iki yönü birbiriyle eşit tutalım. Bu özellik ücretsizdir, siz etkinleştirene kadar kapalı kalır ve yalnızca sizin sahibi olduğunuz bir hesaptaki depoya değişiklik göndeririz; asla bizimkilerden birine değil.
Neler senkronize edilir
Site dosyalarınızda değiştirdiğiniz her şey, nasıl değiştirmiş olursanız olun deponuzda bir commit haline gelir: dosya yöneticisi, SFTP, WordPress tema düzenleyicisi veya bir SSH oturumu. Bize bildirmeniz gerekmez; sitenizi son commit ile karşılaştırır ve aradaki farkı göndeririz.
Tersi yönde ise, bağlı dalınıza yapılan bir push siteye aktarılır.
Asla neleri commit etmeyiz
wp-config.php dosyanız kasıtlı ve kalıcı olarak hariç tutulur. Veritabanı şifrenizi ve kimlik doğrulama anahtarlarınızı barındırır ve bunlar bir depoda bulunmamalıdır; git geçmişi sonsuza dek sakladığı için gizli bir depoda bile yer almamalıdır.
Ayrıca hariç tutulanlar: .env dosyaları, anahtarlar ve sertifikalar, yüklemeler (uploads) klasörünüz, önbellekler ve node_modules. Bir depo sitenizin kaynak kodudur, yedeği değildir. Medya dosyaları zaten tutuldukları yer olan yedeklerinizde yer almalıdır; bunları buraya koymak her push işlemini yavaşlatır ve her değişikliği okunamaz hale getirir.
Her iki taraf da değişirse ne olur
Asıl okunmaya değer soru budur. Diyelim ki dosya yöneticisinde bir dosyayı düzenlediniz ve bu sırada bir çalışma arkadaşınız aynı depoya bir değişiklik gönderdi.
İşlemi durdururuz. Birleştirme (merge) yapmayız ve kimsenin çalışmasının üzerine yazmayız. Sitenin Deploy sekmesinde "Deponuzda henüz görmediğimiz değişiklikler var" uyarısı görüntülenir, incelemeniz gereken commit belirtilir ve sizden işlem beklenir. Bekleme süresince hiçbir tarafta veri kaybı olmaz; yaptığınız düzenleme sitede kalmaya devam eder, onların commiti ise depoda durur.
Ardından seçiminizi yaparsınız:
- Bu sitenin dosyalarını koru — sizin sürümünüzü onlarınkinin üzerine yerleştiririz. Onların commitleri geçmişte kalır; hiçbir şey silinmez.
- Depoyu kullan, sitedeki değişiklikleri yoksay — deponun sürümü siteye uygulanır ve burada yapmış olduğunuz değişiklikler silinir. Bu işlem veri kaybına yol açabileceğinden kasıtlı bir tıklama gerektirir ve asla sizin adınıza yapacağımız bir işlem değildir.
Kasıtlı olarak "otomatik birleştir" seçeneği bulunmaz. Tarafımızca gerçekleştirilecek bir birleştirme işlemi, ikinizin de yazmadığı bir dosyayı, ikiniz de önceden görmeden canlı bir sitede oluşturabilir.
Senkronizasyon neden durabilir
- Kendi GitHub hesabınızı bağlamadınız. Siz bağlayana kadar anahtar kapalı kalır.
- Sizden işlem bekleniyor. Yukarıya bakın — bir bekletme durumu kendi kendine çözülmez.
- Hesabınız iyi durumda değil. Faturalandırma güncellendiğinde senkronizasyon duraklatılır ve kendiliğinden devam eder. Hiçbir veri kaybolmaz.
Deploy sekmesi, hiçbir şeyin değişmediği durumlar da dahil olmak üzere son birkaç senkronizasyonu gösterir. Bu liste boşsa ve senkronizasyon açıksa, bağlı hesabın depoya yazma yetkisi olmayabilir; erişim izinlerini kontrol edin ve hesabı yeniden bağlayın.
Nelerin senkronize edileceğini seçme
Varsayılan olarak tüm site senkronize edilir. Bir WordPress sitesinde bu genellikle istemeyeceğiniz bir durumdur: sizin yazmadığınız ve düzenlemeyeceğiniz tüm WordPress çekirdek dosyaları anlamına gelir. "Yalnızca bu klasörü senkronize et" ayarını temanız olarak belirleyin — örneğin wp-content/themes/my-theme — ve geri kalanına dokunulmasın.