Git, bir VCS (Version Control System) çözümü olarak yola çıkmış olsa da geldiği noktada artık bir çok faydası var ve bu faydalara alışan bir geliştiricinin de bu özelliklere alıştıktan sonra bırakması gerçekten çok zor. Ancak temel olarak bir VCS'ten beklenti, yazılımın versiyonlanması, geçmiş versiyonlar ile olan farkların takip edilebilmesi ve diğer proje paydaşları ile paylaşılabilmesidir. Git de bugün itibariyle tüm VCS'ler arasındaki en popüler çözüm (Subversion, Team Foundation Version Control vb. alternatifler arasında), Git çözümleri içerisinde de en popüler platform Github.
Git sistemleri olmadan bireysel olarak bile güncelleyerek tuttuğumuz dosyaların versiyonlamasını yapmaya çalışıyoruz, hatta bir dosyanın en güncel sürümünü takip edebilmek için _yeni, _son, _enson, _ensonbasilacak vb. gibi isimler vererek idare etmeye çalışıyoruz. İşte versiyonlama bizi bu dertten kurtarıyor. Ayrıca eski sürümlere dönebilmek için de checkpoint'ler oluşturmuş oluyoruz.
Git'in en büyük faydası, ortak çalışmayı mümkün kılmasıdır. Örneğin facebook gibi devasa ölçekli bir yazılımı düşünün, binlerce satırlık bu boyutta bir yazılımda farklı alanları düzenleyen binlerce çalışan var ve geliştiricilerin de aynı anda çalışabilmeleri gerekiyor. Öncelikle Git'in en büyük avantajı zaten değişiklikleri takip edebilmek ve gerekli görülen değişikliklerin projeye entegre edilebilmesidir (merge etmek). Böylece yazılımın eski versiyonları da görülebilir ve gerekli görülen yerlerde eski bir sürüme dönmek ve bu şekilde senaryolar oluşturmak (fork) mümkün hale gelmiş olur.
Git'in temel faydalarını başlıklar halinde sıralayacak olusak:
- Çok sayıda dosya içerisinde değişiklik takibi yapabilmek
- Projenin versiyonlarını karşılaştırabilmek
- Eski versiyonlara dönebilmek
- Önceki sürüme geri dönebilmek
- Ortak çalışma ve değişiklikleri paylaşabilme
- Değişiklikleri birleştirebilme
- Yeni alt senaryolar ya da alternatif projeler üretebilme
- Açık kaynaklı sistemlerde insanlardan test ve geliştirme anlamında destek alabilme
Sonuç olarak Git, sadece kod geliştiricileri için değil; mühendislerden yazarlara, dosyalarını sürümler halinde düzenli olarak saklamak isteyen şirketlere ve öğrencilere bile büyük faydaları olan bir yazılım. Nereden başlamalı sorusunu yanıtı ise zaten ilk commit'ten sonra akarak kendini yanıtlıyor (bkz: Github'da Commit Ne Demektir?).
Editör editi: sitedeki bazı diğer benzer yazılar için;
bkz: Git Nedir?
bkz: Visual Studio'da mevcut solution nasıl GitHub'a eklenir?
bkz: Github'da repository nasıl silinir?
bkz: Github'a nereden nasıl başlamalı?
bkz: Git Pull ile Git Fetch arasındaki fark nedir?
bkz: Android Studio'ya Github projesi import etmek