Yazdığımız uygulamaları sadece sıfırdan oluşturmak değil, aynı zamanda onları geliştirmek zorundayız. Bu nedenle bir öncekine sürüm adı vermeli ve neleri geliştirdiğimizi görmeliyiz. Peki GİT nedir, ne için kullanılır? Ahmet Çügen GİT’in yazılım sektöründe ne anlama geldiğini ve ne için kullanıldığını okurlarla paylaşıyor.
Git en temel mantığı ile versiyon kontrol sistemidir. Çalıştığımız projede kodlarımızı, versiyonlarımızı ve yazdığımız yorumları kaydetmemizi sağlar. Bu sayede alandan ve zamandan kazanç sağlar.
Git, mevcut diğer sistemlere göre birçok avantajı olduğu için çoğu geliştiricinin tercih ettiği sürüm kontrol sistemidir. Dosya değişikliklerini daha verimli bir şekilde depolar ve dosya bütünlüğünü daha iyi sağlar. Git, Linus Torvalds tarafından 2005 yılında geliştirilen bir sürüm kontrol sistemidir. (Linux’u yazan kişiyle aynıdır.) Git, geliştiricilerin kodlarının durumunu takip etmelerine yardımcı olur ve bir kod tabanı üzerinde işbirlikleri yapmaya olanak tanır.
Versiyon Kontrol Sistemi nedir?
Versiyon Kontrol Sistemi (VCS), bir ya da daha fazla dosya üzerinde yapılan değişiklikleri kaydeden ve daha sonra belirli bir sürüme geri dönebilmenizi sağlayan sistemdir. Bir projenizin farklı sürümlerini korumak ve kontrol etmek istiyorsanız, Sürüm Kontrol Sistemi (VCS) kullanmanız oldukça faydalı olacaktır.
- İlgili içerik: Python nasıl öğrenilir?
- İlgili içerik: Yazılım dili nasıl seçilir?
VCS, dosyaların ya da projenin geçmiş sürümüne erişmenizi, değişiklikleri karşılaştırmanızı ve görebilmenizi sağlar. Aynı zamanda, VCS kullanmak, bir hata yaptığınızda ya da bazı dosyaları yanlışlıkla sildiğinizde durumu kontrol etmenizi sağlar.
Neden Git kullanmalıyız?
1. Versiyon yönetim kolaylığı
Projenizin büyüklüğüne göre projenizi yedekleme ihtiyacı duyacaksınızdır. Bunu yapmak oldukça karmaşık olabilir, bu noktada eğer Git kullanırsanız böyle bir sorununuz oluşmaz.
2. Birden fazla kişinin eş zamanlı aynı proje üzerinde çalışması
Aynı projede, birden fazla kişi ile çalışıyorsanız kodlarınızı birleştirmek oldukça zor olacaktır. Git ile bu işlemleri yapmanız oldukça kolay olacaktır.
3. Offline kullanılabilmesi
Offline özelliği, hiçbir ağa bağlı olmadan projenizi geliştirebilmenize olanak sağlar.
4. Hızlı olması ve az yer kaplaması
Git, kişisel bilgisayarınızda yer kullanımını önler ve oldukça hızlı şekilde çalışır.
Git’in çalışma prensibi nasıldır?
Git kendi içinde dosyaları 4 farklı etiketle işaretler.
1. Untracked
Git’in görmezden geldiği, yedeklenmediği ve değişiklikleri incelemediği dosyalardır.
2. Staged
Staged Git’in gözlemlediği fakat yedeklenmediği dosyalardır. Git’in gözlemleme bölgesi olan Staging Area da denir.
3. Commit
Git’in hem gözlemlediği hemde yedeklediği dosyalardır. Yedekleme işlemi önce kendi bilgisayarınızda gerçekleşir sonra ise ilgili komut ile uzak depoya gönderilir. Bu durumdaki dosyalarla ilgili yorum yazılabilir ve bu yorumlar geçmişte diğer kullanıcılar tarafından incelenebilir.
4. Modified
Git’in commitlenmiş dosyalar üzerinde değişiklik yapıldığını gösteren dosyalardır. Bu dosyalar Git tarafından gözlemlenebilir fakat yedeklenmemiştir.Yedekleme işlemi için tekrardan commit edilmesi gerekir.
‘Branch’ nedir?
Branch sözcüğünü Türkçe‘ye dallanma olarak çevirebiliriz. Bu kavramı bir örnekle anlatacak olursak, 4 kişilik bir ekibe sahip olduğunuzu düşünelim. Ekibin her üyesi yapacağınız uygulamanın giriş ekranı için farklı ekran tasarımları yapıyor olsun. Bu tasarımların arasından biri seçilecek olduğunu düşünelim. Bunu nasıl sağlarsınız? Herkes ‘commit’ yaptığında ortada tek bir proje olacaktır. İşte bu problem ‘branch’ler tarafından çözülmektedir.
Nasıl ‘Branch’ oluşturulur?
Branch oluşturmak kullanıcıya çalıştığı projenin farklı versiyonlarına erişmesini sağlar. Kullanıcı, projesine bir yenilik eklemek istediğinde, yaptığı değişiklik projenin çalışmasını olumsuz etkileyebilir. Bu gibi durumlarda projemizin o anki halini bozmamak için branch kullanabiliriz.
Branch yardımı ile projemizin çalışır halini kaydedip, yeni eklenti üzerinde rahatlıkla çalışabiliriz. Projemizde herhangi bir sorun çıktığı takdirde geri dönüp önceki versiyona kolaylıkla erişebiliriz. Branch, sadece projenizi değiştirirken ya da güncellerken eski halini korumak ile kalmıyor. Projenize bir versiyon çıkarttığınız zaman her yeni versiyon için repository oluşturmak yerine her bir versiyon için farklı branchler açabilirsiniz. Böylece versiyonları bir arada kolayca takip edebilir ve erişebilirsiniz.
Git’de proje oluşturduğunuzda varsayılan olarak master adında bir branch oluşturulur. Eğer hiçbir değişiklik yapmadan çalışmaya devam edersek, bütün işlemlerimizi master branch’i üzerinden yapmış oluruz. Yeni bir eklenti yapacağımız zaman master branch’i üzerinde yeni bir branch açabiliriz. Böylece hem dosya kalabalığının hem de dosya boyutunun katlanmasının önüne geçmiş oluruz. Bunun yanı sıra istediğimiz zaman da bu iki farklı branch’i birleştirebiliriz. Projelerde ortaya çıkabilecek karmaşaların önüne geçerek takip edilebilir , güvenli ve sistemli bir proje gelişimi sağlamış oluruz.