Uzak sunucudaki git deposunu yerele çekmek diğer anlamıyla, remote repo’yu clone’lamak için aşağıdaki adımları takip edeceğiz.
Yerel makinede projenin klonlanacağı klasöre geçiyoruz. Örnekte “~/dev/” klasörünü kullancağım
veli@veli-GA-990XA-UD3:~/dev/git clone [email protected]:project.git
Cloning into ‘project’…
Enter passphrase for key ‘/home/veli/.ssh/id_rsa’:
warning: You appear to have cloned an empty repository.
Checking connectivity… done.
Yukarıda daha önceki yazımda “gitolite” aracılığı ile ilklendirmiş olduğumuz boş depoyu yerelimize klonlamış olduk. Bundan sonra yapılacak olan iş proje klsörü içine proje dosyalarını koymak ve bunları depoya göndermek. Dosyaları ekledikten sonra depoya göndermek için şunları yapıyoruz:
veli@veli-GA-990XA-UD3:~/dev/project/git add .
veli@veli-GA-990XA-UD3:~/dev/project/git commit -m “proje dosyaları ilklendirildi”
[master (root-commit) 1885c11] proje dosyaları ilklendirildi
1 files changed, 1 insertions(+)
create mode 100644 proje_dosyasi.txt
veli@veli-GA-990XA-UD3:~/dev/project/git push origin master
Enter passphrase for key ‘/home/veli/.ssh/id_rsa’:
Counting objects: 1, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (1/1), 3.23 KiB | 0 bytes/s, done.
Total 1 (delta 2), reused 0 (delta 0)
To [email protected]:project.git
* [new branch] master -> master
Böylelikle proje dosyalarını da ilklendirmiş olduk. Deploy sunucuda bulunan git reposundan deploy sunucusuna bu dosyaları nasıl çekeceğiniz ise yine yukarıdaki adımlar ile aynıdır.
- Deploy suncusunda bulunan git kullanıcı adayının public keyi gitolite-admine gönderilir
- gitolite-admin keyi gitolite deposuna ekler ve conf dosyasında o kullanıcı için gerekli ayarları yapar.
- Deploy sunucusundaki git adayı kullanıcısı adaylıktan çıktıktan sonra ilklendirilmiş olan projeyi klonlar ve kullanmaya başlar.