Git ile kendi deponuzu olusturun
Git, Linus Torvalds tarafından, BitKeeper'ın lisans sorunları yüzünden geliştirilemeye başlanmış, dağıtık yapıda bir kaynak kod yönetim sistemi.
Linux kernel'ı başta olmak üzere, perl, gnome, x.org, vlc gibi bir çok büyük ölçekli proje tarafından tercih edilmeye başlanmıştır.Tarihçesi hakkında detaylı bilgi için http://en.wikipedia.org/wiki/Git_(software) adresinde bolca bilgi bulabilirsiniz.
Git ile kendi bilgisayarınızda bir depo oluşturup, burada yazılımınızı geliştirmeye başlayabilir, "Buna başkalarının da desteği lazım" dediğiniz an bu depoyu başkalarıyla paylaşabilirsiniz. Bu belge kendi deponunuz nasıl oluşturacağınızı anlatmaya çalılacak.
Bu belge Debian Squezee altında, git 1.6.3.3 sürümü ile denenmiştir.
Oncelikle gitosis ve git-core paketlerini kurmaliyiz.
apt-get install git-core gitosis
daha sonra bilgisayarimizda bir git kullanicisi olusturalim
adduser --system --shell /bin/sh --group --disabled-password --home /home/git git
daha sonra git kullancina gecelim
su git && cd ~
git kullanicisi icin bir ssh key'i olusturmamiz gerekiyor
ssh-keygen -t rsa
bu komut ~/.ssh/id_rsa.pub isimli bir dosya olusturacak. Bu dosyayi kullanarak gitosis'i baslatiyoruz
gitosis-init < ~/.ssh/id_rsa.pub
Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/ Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
gibi bir mesaj alacaksınız. daha sonra gitosis-admin deposunu cekmeliyiz
git clone git@localhost:gitosis-admin.git
artik gitosis deposunu actik. Burada bizim icin ilk etapta onemli iki dizin var, repositories ve gitosis-admin repositories'e girerek burada bir proje dizini olusturuyoruz.
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
ile güncellemeler için izin veriyoruz
cd repositories
mkdir beedon.git
cd beedon.git
git init --bare
artık bir repositorimiz var, dışarıdan
git clone git@localhost:beedon (localhost yerine ip adresi de verilebilr)
ile depoyu takip edebilirsiniz. Buradan sonra başka kullanıcıların deponuza yazma, okuma izinlerini vermeye geldi. Bu işlem için gitosis-admin dizini içine giriyoruz buradaki keydir dizinine izin vermek istedigimiz kullanicilarin ssh keygenlerini .pub uzantisi ile koyuyoruz. (orn: osmany.pub ) daha sonra bunu repository'ye ekliyoruz
git add keydir/osmany.pub
simdi bu keydir'i config'e eklememiz lazim bunun icin gitosis.conf'a asagidakine benzer satirlari eklememiz lazim
[group gelistiriciler]
writable = beedon
members = osmany
daha sonra bu dosyayı ve key'i depoya gondermemiz gerekiyor.
git commit -a -m "osmany kullancisina, beedon projesinde yazma izni veriyorum"
git push
ile de degisiklikleri gonderiyoruz.
Artik osmany kullanicisi yetki sorunu yasamadan depoyu clone'layabilir, depoya yazabilir, silebilir.
Kaynakça :http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way |