Ucretsiz GIT hizmeti – bitbucket.org

Projenize başlarken versiyon kontrol sistemlerinden birini kullanacaksanız, ve projeniz open source değilse, nasıl yapacaksınız? Eğer SVN ile ilgileniyorsanız sizi buraya alalım. Ama eğer GIT ile ilgileniyorsanız doğru yerdesiniz 🙂

Bitbucket.org 5 kullanıcıya kadar size limitsiz ve ücretsiz repo hizmeti sunuyor. Diğer paketlerini incelemek isterseniz buraya göz atabilirsiniz.

Kişisel olarak hesap açabileceğiniz gibi, takım olarak da hesap açabiliyorsunuz. Onu da şuradan yapabilirsiniz.

İyi çalışmalar!

 

Ucretsiz SVN hizmeti – unfuddle.com

Versiyon kontrol sistemi desteği ile bir projeye başlamak istiyorsanız, son zamanlarda bunu sourceforge, veya github gibi siteler üzerinden yapabiliyorsunuz. Ancak bu siteler, repoları gizli (private) olarak kullanmanıza izin vermiyor. Ancak opensource projelerinizi buralardan yürütebiliyorsunuz. Peki ya, kodunuzu paylaşmak istemiyorsanız?

Unfuddle.com nedir?

İşte yukarıda bahsettiğim gibi kodunuzu paylaşmak istemiyorsanız, www.unfuddle.com u tercih edebilirsiniz. Unfuddle kayıt sayfasında ücretli planların hemen altında ücretiz ve gizli planını seçebiliyor, 2 kullanıcı, 1 proje için ebedi ücretiz kullanabiliyorsunuz. Üstelik ücretsiz planda bile ssl hizmeti aktif. Panenize giriş yaptıktan sonra, orada ticket’lar açıp, proje yönetim gereçlerini kullanabiliyorsunuz. SVN hizmetinizi

İhtiyacı olanlara tavsiye ederim.

Git sunucusu nasil kurulur?

Aslında Git sunucusu diye özel bir şey yoktur. Bilgisayarda Ssh protokolü varsa, zaten o bir git sunucusu oluverir. SVN kurmak kadar bir zorluğu da yok dolayısıyla.

SSH ile erişilebilen bir sunucuda, herhangi bir kullanıcı veya sistem yöneticisi iseniz git deposunu saklaması için açıalcak hesapta, ssh ile uzaktan erişilmesi için gerekli düzenlemeleri yapalım.

adduser git # git deposu için yeni kullanıcı git oluşturduk.
# .ssh dizini oluşturalım ve yetki verelim
/home/gitmkdir -f .ssh 
chmod 700 .sshcd .sshtouch authorized_keys 
# erişebilecek kişilerin public anahtarlarını ekleyeceğimiz dosyaya da yetki verelim.
chmod 600 authorized_keys
#Yeni bir depo kurmak için git kullanıcısı ile sisteme girdikten sonra aşağıdaki komutları kullanabilirsiniz.

mkdir ~/repo.git
cd ~/repo.git
git --bare init

Olay bu kadar basit aslında.

Subversion (SVN) vs Git

Bu konu sizin aslında, “hangi versiyon kontrol sistemini kullanmalıyım?” sorunuza da yanıt olabilecek bir niteliktedir.

Subversion (Svn) ve Git Versiyon Kontrol Sistemleri Karşılaştırması

Takımınız için en iyi yazılım deposunu (repository) seçerken, bir takım önemli faktörler vardır. SVN (Subversion) geçtiğimiz yıllarda üretimde fiili olarak bir standart haline geldi ve kullanıldı. Ancak, daha sonradan hayatımıza Git diye bir şey girdi.

Git, Linus Torvalds tarafından Linux çekirdek geliştirilmesi amacıyla geliştirilmiş versiyon kontrol sisteminin dağıtılmış versiyonudur. Yıllar içerisinde, yazılım geliştirme amacıyla kullanılmış ve özellikle Open Source projelerin oluşturulmasında rol alarak da çok büyümüştür. Git, çoğu takım için daha iyi bir çözüm olmasına rağmen, SVN ile kıyaslandığında azıcık daha öğrenmesi zor olarak nitelendirilebilir.

Svn & Git farklarının objektif olarak özeti

  • Git Svn den epeyce hızlıdır.
  • SVN ile bir alt ağacı(subtree) indirip çalışabilirsiniz, ancak Git’te tüm projeyi klonlamanız gerekir. Bu klonlama ile kendinize geçmişi dahil bir kopya üretmiş olursunuz.
  • Git depoları, SVN ye kıyasla epeyce daha küçüktür. Örneğin Mozilla projesi için 30 kat daha küçüktür)
  • Git, baştan itibaren dağıtma amaçlı tasarlandığından, her geliştiriceye olabildiğince yerel kontrol imkanı sağlar. (örneğin bir şeyi yapıp kendinize commit edebilirsiniz. )
  • Git branch’ları (yan dalları) , SVN’e göre basit ve daha az kaynak harcarlar.
  • Git branch’lar kendi geçmişini tutarlar.
  • Git branchlar üzerinde daha çok denetim ve karıştırma (merge) imkanı sağlar.
  • Git depo dosyaları basittir. Tamir etme vb işlemlerinde ihtimaliz daha yüksektir.
  • SVN depolarını merkezi olarak yedeklemek daha basittir.
  • Git depo klonları, full bir klondur. Yani onun üzerinden yeni bir repo yapabilirsiniz.
  • SVN nin kullanıcı arayüzü, Git’inkinden daha gelişmiştir.
  • SVN nin versiyonlarında (revisions) dolaşmak 1,2,3,… şeklinde isim verdiğinden çok daha basittir. Git, ne idüğü belirsiz SHA-1 hash’ler kullanıyor.

Kaynaklar : GitSvnComparison, subversion_git_comparison

 

git – tek bir dosya geri alma (revert – reset)

Bulması zor bir konu olabilir diyerek yazma gereksinimi hissettim. Git versiyon kontrol sisteminde commit etmediğiniz bir değişiklik varsa, ve bu değişikliği geri almak istiyorsanız (SVN deki revert manasına geliyor) aşağıdaki işlemi yapmanız gerekiyor :

git checkout {dosya_adi}

Bu komut HEAD (en son sürüm) den dosyayı alıp mevcut dosyanın üzerine yazar.

İnternette git reset komutunu kullanmanızı söylenebilir. reset –hard derseniz mesela, tek bir dosya yerine tüm değişiklikleriniz gidebilir. Aman dikkat.