Ankara JUG Mayıs 2013 Etkinliği Ardından
Ameleler,
Yine bir Ankara JUG yazısı ile karşınızdayım.
Malum, 30 Mayıs’ta yapılan Ankara JUG toplantısından sonra, 31 Mayıs’ta İstanbul Taksim’den başlayan olaylar her yeri sardı. Bize yeni şeyler öğreten bu süreç içerisinde JUG toplantısı ile ilgili görüşlerimi toparlayıp bir yazı haline getiremedim. Anca toparlayabiliyorum.
Mayıs 2013 etkinliği, Git üzerine idi. Linus Torvalds’ın bizzat geliştirdiği, açık kaynak dünyasnda bir anda popülerlik kazanan sürüm yönetim sistemi Git, biraz korkutan, biraz da ters gelen bir sistem. Korkutuyor, çünkü öncelikle Linux üzerine çıkması ve eğitim örneklerinin genelde terminal komutlarından oluşması, grafik arabirim kullanmaya alışmış geliştiricilerin işine gelmiyor. Ters geliyor, çünkü Subversion ya da TFS gibi sunucu – istemci (server – client) yapısında değil, dağıtık (distributed) bir yapıca çalışıyor. Merkezi bir sunucu gerekliliğinin olmaması, geleneksel yapıları kullanan geliştiricileri korkutuyor.

git scm
JUG etkinliğinde bizlere Git anlatan Mustafa Sakalsız, açıkçası güzel bir şekilde bize Git’i -pazarlamacı tabiriyle- sattı. Git’in, zaten hız konusunda iyi olduğunu bir çok yerden okumuş, görmüştüm. Fakat, branch kullanma yöntemini, hem kendim okumadığım hem de denemediğim için bilmiyordum. Benim en çok ilgimi çeken ve kullanma yönünde en çok aklımı çalan özelliği de açıkçası branch kullanmanın kolaylığı oldu. SVN’de branch’leri birleştirirken çektiğimiz çileleri çekmeyeceğimiz yönünde bir izlenimim oldu.
Güzelliklerine rağmen, Git’in binary dosyalardaki zaafı, resimlerin yoğun bir şekilde kullanıldığı web uygulamalarında kullanımı biraz zorlaştıracak gibi. SVN’in binary dosyalarda, hatta bütün dosyalarda, dosya farklarını tutması, merkezi sunucuda ve yereldeki dosya boyutunu makul bir seviyede tutabiliyordu. Git ise, dosya farklarından ziyade, değişen dosyaların kendisini tuttuğu, ve her sürüm için bu dosyaları yerelde de sunucuda da tuttuğu için, sık değişen dosyalar, disk kullanımını ciddi oranda artırabilir görünüyor.
Bu kadar açık kaynaklı proje kullanmama rağmen Git kullanmamak benim eksikliğim. Ankara JUG etkinliği sayesinde, Git konusunda başlangıç gazımı almış durumdayım.
Kullanım aşamasına gelirsem, onunla ilgili de yazarım.
Haydi, şimdi Git’in.