Versiyon Kontrol Sistemleri, Kullanımı ve Araçları
Merhaba arkdaşlar,
Bu yazımızda versiyon kontrol sistemlerini incelemeye çalışacak, IDE entegrasyonlarını ve kullanımlarını görecek ve araçlarına göz atacağız.
Versiyon Kontrol Nedir?
Versiyon kontrol sistemleri projeniz yada herhangi bir program dosyanız/klasörünüz üzerinde yapılan değişiklikleri zamanları, kullanıcı bilgisi, versiyon numarası gibi bilgilerle birlikte tutumanıza yardımcı olur. Kodunuz üzerinde sürprizlere yer vermek istemiyorsanız, çalışan kopyanız ve haftalar sonra yayına almayı düşündüğünüz kopyayı ayırıp (Branch) her iki kopya içinde geliştirme yapıp istediğiniz kopyaya geçerek (switch) kolayca testini yapabileceğiniz bir yapıyı size sunar. Böylelikle hangi kopya doğruydu yada en son yaptığım değişikliği doğru bir şekilde geri aldım mı gibi sorulara da gerek kalmaz. Eğer versiyon kontrol sistemleri ile entegre bir IDE (Netbeans gibi) kullanıyorsanız IDE niz size değişiklik yaptığınız dosyaları hatta satırları anında gösterecek ve renklendirecektir. Binlerce dosyanız olsa bile neyi değiştirip neyi sildiğinizi anında görebilecek duruma gelirsiniz.
Avantajları Neler?
- Dosyalar üzerinde kimin ne zaman değişiklik (ekleme, değiştirme, silme) yaptığını görebilmeniz
- Kullanıcı ve tarih bazlı rapor/analiz alabilmeniz (yöneticiler için vazgeçilmez bir özellik)
- Aynı klasörün (içindeki tüm dosya ve klasörlerle birlikte) birden farklı versiyonlarını barındırabilir ve saniyeler içinde versiyonlar arası geçiş yapabilir (klasör adı değişmez)
Temel Olarak Nasıl Çalışır?
Versiyon kontrol sistemleri server-client mimarisine benzer çalışırlar. Ortada versiyon kontrol yazılımı vardır ve siz bu yazılıma kullanıcı adı ve şifrenizle birlikte özel bir yazılım ve prokol aracılığıyla (svn için örnek: “svn://”, “svn+ssh://” gbi) bağlanıp projelerin istediğiniz kopyasını (trunk yada branch) sunucudan kendi bilgisayarınıza çekersiniz (checkout). Proje üzerinde istediğiniz çalışmaları yaparsınız. Diğer arkadaşlarınızda aynı şekilde proje üzerinde çalışırlar. Bu aşamaya kadar versiyon kontrol yazılımının sizden haberi yoktur. Değişiklikleriniz bittiğinde öncelikle başka kullanıcının bu dosya üzerinde çalışıp çalışmadığına bakıp (update) çalışma yoksa değişiklikleri sunucuya gönderirsiniz (commit). Eğer çalışma yapıldıysa conflict alacağınızdan merge işlemi gerekecektir (daha sonra değinilecek).
devamı gelecek..
Versiyon Kontrol Sistemleri ile ilgili faydalı bir yazı olmuş. SVN sunucu kurulumu ve ayarları ile ilgili olarak bir yazı hazırlarsan çok faydalı olacaktır bence. 🙂
Giriş seviyesinde özet bir yazıydı. Daha detaylı bir kurulum ve inceleme yazısı planlıyorum.
sunum odevim vardı resimler felan anlatımınız cok faydalı oldu.
şimdi ayrrıntılı rapor ornegi var buradan yardım alacağım.