git init --bare proje_ismi.git
Eğer sunucu olarak kullanacağımız makinede ayrıca geliştirme yapacaksak dahi istemci tarafındaki gibi işlemleri yapmamız gerekiyor. Şimdi istemci tarafına projeyi çekelim.
git clone /Users/gitrepos/proje_ismi.git
Komutu çalıştırdıktan sonra git size normal bir çıktılarının yanısıra bir uyarı mesajı da verecektir.
Cloning into proje_ismi...
done.
warning: You appear to have cloned an empty repository.
Boş bir repository olduğunu söylüyor. Biz proje içine örnek bir dosya ekleyelim.
cd proje_ismi
touch dosya1.txt
Bir dosya ekledik. Dosyayı açıp içine bir şeyler yazın.
git add dosya1.txt
git commit dosya1.txt -m "Ilk Yorum"
İlk dosyamızı istemci tarafındaki repository'mize eklemiş olduk. Şimdi sunucu tarafına gönderelim. Normalde git push komutunu çalıştırdığımızda göndermesi gerekir. Fakat şuanda çalıştırırsak git bize hata bildirecektir. Çalıştırıp hatayı görmenizde bir sakınca yok. Hata, çalıştırdığımız branch'ın sunucu tarafında bulunmamasından kaynaklanıyor. Bu sorunu aşmak için bir kereye mahsus branch'ımızı tanıtmamız gerekli. Varsayılan olarak istemci tarafında master branch'ında çalışıyorsunuz.
git push origin master
Şuanda sunucu tarafına 'master' isimli branch'ı eklemiş olduk. Ayrıca güncelleme işini de aradan çıkardık. Bundan sonra kullanacağımız komutlar pull ve push. Örneğin bir dosya daha yaratalım, güncelleyelim ve sunucu tarafına gönderelim.
touch dosya2.txt
Dosyayı güncelleyin.
git add dosya2.txt
git commit dosya2.txt -m "Ikinci Yorum"
git push
Sunucu tarafi güncellendi. Proje üzerinde çalışan diğer kişi de git ile clone ettikten sonra yaptığınız güncellemeyi kendi makinesine yansıtması için
git pull
komutunu kullanabilir. git pull komutu arka alanda hem fetch işlemini hem de merge işlemini yapıyor. Eğer detaylı bir merge işlemine ihtiyacınız varsa işlemi iki adımda gerçekleştirebilirsiniz.
Elinizde mevcutta bulunan git projesini de aynen bu hale getirebilirsiniz.
git clone --bare -l /eski_yol/proje_ismi.git
Ayrıca apache server ile git kullanımına henüz ihtiyacımız olmadı ve dolayısı ile öğrenmedik ama öğrenirsek onu da buradan duyuracağım.
Mutlu Kodlamalar ;)
Volkan Özyılmaz