Bilgi Bankası

GitHub deponuzla iki yönlü senkronizasyon

Sitenizde yaptığınız değişiklikler kendi deponuzda commit'lere dönüşür ve oraya gönderdiğiniz her şey sitenizde yayınlanır. Bu ücretsizdir ve her iki taraf aynı anda değişiklik yaptığında şunlar olur.

Kendi GitHub hesabınızı bir siteye bağlayın; her iki yönde de senkronizasyonu biz sağlayalım. Özellik ücretsizdir, siz açana kadar kapalı kalır ve yalnızca sizin sahip olduğunuz bir hesaptaki depoya (hiçbir zaman bizimkilerden birine) işlem (commit) yaparız.

Neler senkronize edilir

Dosya yöneticisi, SFTP, WordPress tema düzenleyicisi veya bir SSH oturumu üzerinden site dosyalarınızda yaptığınız her değişiklik (nasıl yapıldığı fark etmeksizin) deponuzda bir işleme (commit) dönüşür. Bize haber vermeniz gerekmez; sitenizi son işlemiyle karşılaştırıp aradaki farkı göndeririz (push).

Diğer yönde ise, bağlı olan dalınıza yapılan bir gönderim (push) doğrudan siteye uygulanır.

Asla işlem (commit) yapmadıklarımız

wp-config.php dosyanız, bilerek ve kalıcı olarak kapsam dışı bırakılır. Bu dosya veritabanı şifrenizi ve kimlik doğrulama tuzlarınızı (salt) barındırır ve bunlar (git geçmişi sonsuza dek sakladığı için özel bir depoda bile olsa) bir depoda yer almamalıdır.

Kapsam dışı olan diğer öğeler: .env dosyaları, anahtarlar ve sertifikalar, yüklemeler (uploads) klasörünüz, önbellekler (caches) ve node_modules. Bir depo, sitenizin kaynak kodudur, yedek değildir. Medya dosyaları zaten tutuldukları yedeklerinizde yer almalıdır; bunları buraya koymak her gönderimi (push) yavaşlatır ve her değişikliği okunamaz hale getirir.

Her iki tarafta da değişiklik olduğunda ne olur

Bu, okumaya değer bir sorudur. Diyelim ki dosya yöneticisinde bir dosyayı düzenlediniz ve bu sırada bir iş arkadaşınız aynı depoya bir değişiklik gönderdi (push).

Dururuz. Birleştirme (merge) yapmayız ve kimsenin üzerine yazmayız. Sitenin Dağıtım (Deploy) sekmesinde "Deponuzda görmediğimiz değişiklikler var" uyarısı görünür, incelemeniz gereken işlem (commit) belirtilir ve sizden beklenir. Bu bekleme süresince hiçbir tarafta veri kaybolmaz; sizin düzenlemeniz sitede kalmaya devam eder, onların işlemi de depoda durur.

Ardından seçimi siz yaparsınız:

  • Bu sitenin dosyalarını koru — sizin versiyonunuzu onlarınkinin üzerine yazarız. Onların işlemleri (commits) geçmişte kalır, hiçbir şey silinmez.
  • Depoyu kullan, site değişikliklerini yoksay — deponun versiyonu siteye uygulanır ve burada yaptığınız değişiklikler silinir. Bu işlem veri kaybına yol açabilir; bu yüzden bilinçli bir tıklama gerektirir, asla sizin adınıza otomatik olarak yapılmaz.

Kasıtlı olarak "otomatik birleştir" seçeneği bulunmaz. Tarafımızdan yapılacak bir birleştirme, ikinizin de yazmadığı bir dosyayı, ikiniz de önce görmeden canlı bir sitede ortaya çıkarırdı.

Senkronizasyon neden durabilir

  • Kendi GitHub hesabınızı bağlamadınız. Siz bağlayana kadar anahtar kapalı kalır.
  • Sizi bekliyor. Yukarıya bakın — bir bekleme durumu kendiliğinden ortadan kalkmaz.
  • Hesabınızın durumu aktif değil. Faturalandırma güncellendiğinde senkronizasyon otomatik olarak duraklar ve yeniden başlar. Hiçbir şey kaybolmaz.

Dağıtım (Deploy) sekmesinde, hiçbir değişikliğin olmadığılar dahil olmak üzere son birkaç senkronizasyon gösterilir. Bu liste boşsa ve senkronizasyon açık durumdaysa, büyük ihtimalle bağlı hesabın depoya yazma izni yoktur; erişim izinlerini kontrol edin ve yeniden bağlanın.

Nelerin senkronize edileceğini seçme

Varsayılan olarak sitenin tamamı senkronize edilir. Bir WordPress sitesinde bu genellikle isteyeceğiniz bir durum değildir; çünkü yazmadığınız ve düzenlemeyeceğiniz WordPress çekirdeğinin her dosyasını kapsar. "Yalnızca bu klasörü senkronize et" ayarını temanıza (örneğin wp-content/themes/my-theme şeklinde) ayarlayın, geriye kalan kısımlara dokunulmaz.

Hâlâ çözemediniz mi?

Her plana destek dahildir ve yanıtlar kendi dilinizdedir.

Destek ile iletişime geçin Tüm makaleler