Bu kılavuz, aşağıdaki hedeflerden en az birine ulaşmak isteyen Cotonti site sahipleri için hazırlanmıştır:
Gereksinimler:
Bu kılavuzda verilen eylem örnekleri kabuk komutları olarak sunulmuştur. İstemci tarafında, bazılarını bir GUI istemcisi ile değiştirebilirsiniz.
Uyarı: Eğer bir şeyler ters giderse veya Git ile senkronizasyon sırasında bir hata yaparsanız, dosyalarınızı bir yedekten geri yüklemek en iyisidir. Bu yüzden, aşağıdaki senaryoları denemeden önce mutlaka bir yedek alın.
Bilgisayarınızdaki mevcut dizine Cotonti'nin bir dalını klonlayarak yerel bir Git deposu oluşturalım. En son Siena/master dalından klonlamak için:
git clone -o cotonti git://github.com/Cotonti/Cotonti.git .
-o seçeneği, Cotonti deposuna referans adını varsayılan "origin" yerine "cotonti" olarak adlandırmak için kullanılır. Sonundaki nokta, deponun geçerli dizine çıkarılacağını belirtir, gerekirse başka bir yol belirtebilirsiniz.
Eğer Genoa dalını kullanıyorsanız, şu komutu çalıştırın:
git clone -o cotonti -b genoa git://github.com/Cotonti/Cotonti.git .
-b seçeneği, çıkarılacak dal adını belirler. Varsayılan olarak master (siena) kullanılır.
Klonladıktan sonra belirli bir sürüm etiketi ("cotonti-x.y.z") seçmek isterseniz, şu komutu kullanın:
git checkout cotonti-x.y.z
Artık Cotonti'nin yerel bir kopyasına sahipsiniz. Bununla istediğiniz gibi çalışabilirsiniz. Günlük çalışmalarınızda Git kullanımına dair faydalı kaynaklar, bu makalenin Referanslar bölümünde listelenmiştir.
Senkrone edilmiş Cotonti kopyanızı sitenize göndermek için uzak bir Git deposu ayarlamak istiyorsanız şu adımları takip edin:
ssh -l your_login example.com mkdir site.git && cd site.git git init --bare echo -e "#!/bin/sh\nGIT_WORK_TREE=/path/to/htdocs git checkout -f" > hooks/post-receive chmod +x hooks/post-receive
1. satırda SSH ile sitenize bağlanıyoruz. 2 ve 3. satırlarda Git dosyaları için yeni bir konum oluşturup bir depo başlatıyoruz. 4. satırda bir komut dosyası oluşturarak değişikliklerin otomatik olarak siteye uygulanmasını sağlıyoruz. /path/to/htdocs kısmını, Cotonti sitenizin bulunduğu gerçek yol ile değiştirin. 5. satırda ise bu komut dosyasına çalıştırma izni veriyoruz.
Sonrasında yerel deponuza geri dönerek değişikliklerinizi sunucuya gönderebilirsiniz:
git remote add site ssh://your_login@example.com/path/to/site.git git push site master
"master" yerine "genoa" veya başka bir dal kullanıyorsanız, ona göre değiştirin.
Bu adımlardan sonra, aşağıdaki bölümlerde açıklanan senkronizasyon komutlarını kullanabilirsiniz.
Bu durumda, uzak web siteniz için site.git deposunu zaten oluşturduğunuzu varsayıyoruz. Önceki kullanım senaryosundaki betiği kullanarak bunu yapabilirsiniz. Eğer sunucunuzda yalnızca bir depo başlattıysanız ancak içine henüz dosya eklemediyseniz, bunu site kök dizinine girip "git add" komutunu çalıştırarak yapabilirsiniz:
ssh -l your_login example.com cd /path/to/htdocs GIT_DIR=/path/to/site.git git add . GIT_DIR=/path/to/site.git git commit -q -m "Site dosyaları eklendi"
Not: Sunucuda Git çağrılarında GIT_DIR belirtmek gereklidir çünkü Git dosyaları site dosyalarından ayrı bir yerde saklanmaktadır.
Uzak site.git deposu güncel hale geldikten sonra, ekip arkadaşlarınız kendi yerel kopyalarını klonlayabilirler:
git clone -o site ssh://user2_login@example.com/path/to/site.git
Eğer Genoa dalını kullanıyorsanız, "-b genoa" argümanını ekleyin. Ayrıca Cotonti deposunu uzak depolar listesine de ekleyebilirler:
git remote add cotonti git://github.com/Cotonti/Cotonti.git
Sonrasında, aşağıda verilen komutlarla değişiklikleri çekebilir ve gönderebilirler.
Eğer yukarıda anlatıldığı gibi yerel ve uzak deponuzu yapılandırdıysanız, günlük çalışma düzeninizde aşağıdaki komutları kullanabilirsiniz.
Not: Eğer Siena yerine Genoa dalını kullanıyorsanız, verilen komutlardaki "master" kelimesini "genoa" ile değiştirin.
Cotonti deposundan en son değişiklikleri almak için:
git pull cotonti master
Güncellenmiş değişiklikleri sitenize uygulamak için:
git push site master
Çalışma arkadaşlarınızın siteye gönderdiği en son değişiklikleri almak için:
git pull site master
Git ile mutlu dağıtımlar!