Git Nedir?

Git Nedir?

Git Nedir?

Yazılım ile ilgilenen herkes bilir ki yazılımlarımız daha doğrusu projelerimiz büyüdükçe takip etmesi daha zor hal alır ve karmaşık bir yapıya girer, böylelikle projeyi kontrol etmesi oldukça zor bir hale gelir. Özellikle belli bir seviyeden daha üst seviyedeki projeler takım çalışmalarını gerektirir ve her takım üyesinin projeye katkılarını kontrol etmek çok daha zor bir hal alır.

Git projelerinizde yukarıda anlattığım sorunlara çözüm olarak geliştirilmiş bir sürüm kontrol sistemidir.

Git Özellikleri Nelerdir?

Git dünyada en çok kullanılan sürüm kontrol sistemidir.

Git ücretsiz ve açık kaynak olan bir projedir.

GitHub ve GitLab gibi büyük markalar da git sistemi ile geliştirilmiştir.

Dağıtık sürüm kontrol sistemini kullanır, böylelikle projeleriniz hem uzak sunucuda hem de çalışma ortamında barındırılır.

Her güncellemeden sonra çalışma alanında yeni bir proje sürümü oluşturulabilir.

Ekipler arasında paylaşılan proje dosyaları sayesinde ekip çalışması için uygun bir yapı oluşturur.

Git Tarihçesi

Git'in ortaya çıkışı, çok sayıda Linux çekirdeği geliştiricisinin proje yönetimi için bir önceki sürüm kontrol sistemi olan BitKeeper'ı tercih etmesiyle başlamıştır. 

Andrew Tridgell, bir takım tersine-mühendislik yöntemleriyle BitKeeper protokolüne müdahalelerde bulunmuş, ancak BitKeeper'ın telif haklarını elinde bulunduran Larry McVoy, BitKeeper'ın ücretsiz kullanımını reddederek konuyu hukuki platforma taşıyınca BitKeeper'ın kullanımından vazgeçilmiş, böylece Git'in temelleri atılmıştır.

O günlerde Linus Torvalds, BitKeeper uygulamasında olduğu gibi dağıtık çalışan bir sürüm kontrol sistemi istiyordu ancak piyasadaki mevcut özgür çözümlerin hiçbiri özellikle performans konusunda Torvalds'ın beklentilerini karşılamıyordu. 

Torvalds bu konuyu piyasadaki mevcut sürüm kontrol sistemlerini ele alarak örneklemişti; bir yamanın uygulanarak ilgili tüm veri yapılarının güncellenmesinin 30 saniye sürmesi ve tüm bu değişikliklerin ilgili diğer geliştiricilere iletilebilmesi için aynı işlemin 250 defa tekrarlanmasının Linux çekirdeğinin geliştirilmesi yönünde engel teşkil ettiğinin altını çiziyordu. Torvalds'ın hedefi bu süreyi üç saniyeye düşürmekti. 

Bunun dışında Torvalds'ın başka tasarım kriterleri de vardı: 

Ne yapılmaması gerektiği konusunda CVS örneği ele alınmalı, şayet kararsız kalınırsa CVS'in sunuduğu çözümün tam tersini yapmalı. BitKeeper'a benzer, ağ üzerinde dağıtık çalışmaya izin veren bir iş akışını desteklemeli. 

Zararlı kodlar veya yanlış kullanım nedeniyle veri kaybını öneleyecek çok sıkı güvenlik yapıları bulunmalı. 

Bu üç kriteri, Monotone dışında o gün piyasada varolan hiçbir sürüm kontrol sistemi yerine getiremiyordu, performans söz konusu olduğunda ise Monotone da eleniyordu. 

Böylece 2.6.12-rc2 sürümlü linux çekirdeğinin yayınlanmasının hemen ardından Torvalds, kendi sürüm kontrol sistemini yazmaya karar verdi.

Kaynakça : Wikipedia