Bu yazı dizimiz boyunca Git’i kullanmayı öğreneceğiz. Git hakkında detaylı bilgileri de bu yazı dizimizde bulabileceksiniz.

Git sistemini anlamaya versiyon kontrol sistemlerini anlamaya çalışarak başlayalım.

Versiyon Kontrol Sistemi (VKS)

Sürüm yada versiyon kontrol sistemleri yazılım geliştiricilerin beraber bir projede ortak çalışma yapabilmek için ve yaptıkları çalışmaların geçmiş versiyonlarını korumak için oluşturdukları bir sistemdir.

VKS’nin özellikleri nelerdir derseniz.

1. Yazılım geliştiren kişilerin aynı proje dosyası üzerinde eş zamanlı geliştirme yapmalarına izin verir.

2. Bunu yaparken kullanıcıların yaptığı değişiklikleri bir birinden üstün görüp kodları ezmez ve üzerine yazmaz.

3. Her sürüm geçmişte yapılan proje dosyasını korur.

Versiyon Koruma Sistemlerini 2 başlık altında inceleyebiliriz.

1. Merkezileştirilmiş Versiyon Kontrol Sistemi

2. Dağıtılmış Sürüm Kontrol Sistemi

Merkezileştirilmiş Versiyon Kontrol Sistemi

Bunu şöyle düşünebilirsiniz. Birinci sistemde örnek olarak söylüyorum kendi bilgisayarınızı bir merkezi sunucu birimi olarak kullanıp projeleri bu yerel disk üzerinde tutarsınız. Buradan dosyalarınızı ağda paylaşıma açarsınız ve ekip arkadaşlarınız bu dosyalara erişim sağlayıp üzerinde çalışırlar. Ama şöyle bir dezavantajı beraberinde getirir. Sizin üzerinde çalıştığınız bir dosya üzerinde başka bir arkadaşınızda çalışmak isterse bunu yapamayacaktır. Dosya ona salt okunur açılacaktır bu büyük bir dezavantaj ortaya çıkarmaktadır.

Bir başka dezavantaj; Merkezi olarak kendi bilgisayarınızı sunucu olarak kullandığınız bir VKS oluşturdunuz ve proje ekibinizle beraber çalışmalarınızı sürdürüyorsunuz.

Bir gün bilgisayarınız bir açtınız sunucunuz düşmüş böyle bir durumda sunucu 1 saat erişime kapalı kalsa tüm proje ekibi de 1 saat o proje üzerinde bir geliştirme yapamazlar.

Birde düzgün ve düzenli bir yedek alma işlemini gerçekleştirmediyseniz merkezi sunucu üzerinde kaybettiğiniz dosyalarınızı bir daha geri getirememek üzere kaybetmiş olabilirsiniz.

İşte bu dezavantajlar ki birisi tamamen projeyi kaybetmek gibi bir dezavantaj DVKS’nin geliştirilmesinin önünü açmıştır.

Dağıtılmış Versiyon Kontrol Sistemi (DVKS)

Dağıtılmış Sürüm Kontrol Sisteminde Bulut diyebileceğimiz uzak bir sunucu üzerinde tutarız projelerimizi.

İşte Git bir Dağıtılmış Sürüm Kontrol Sistemidir. Biz bu yazı dizimiz boyunca bunun üzerinde duracağız.

Bu noktada birde DVKS’nin sağladığı avantajlara bakalım.

Bu sistemde proje dosyaları uzak bir sunucuda ulaşmasına izin verilen kişilerin ulaşımına açık şekilde bulunur. Eş zamanlı olarak üzerinde gerekli geliştirmeler yapılabilir.

Diyelim ki uzak sunucumuzda bir sorun yaşadık proje üzerinde çalışamayacak mıyız?

Tabi ki hayır.

Bu sistemde proje dosyalarımızın bir kopyası kendi bilgisayarımız üzerinde de bulunduğu için çevrim dışı bir durumda iken de geliştirme sürecine, elimizde bulunan son versiyon üzerinden devam edebiliriz. Sunucuya bağlanma gereksinimimiz sadece şunun için olabilir, geliştirmiş olduğumuz kodları yada yeni eklediğimiz dosyaları yeni versiyon olarak sunucuya göndermek yada diğer ekip üyelerinin geliştirmelerini almak.

İşte bu yönüyle Git DVKS çok başarılı bir konuma geçip yazılım geliştiricilerinin göz bebeği olmuştur.

Bu yazımda bu kadar diyelim ve diğer eğitim yazımda görüşmek üzere.