loader
Blog

Git Nedir? Özellikleri Nelerdir?

Git: açık kaynak ve ücretsiz olan bir Dağıtık Sürüm Kontrol Sistemidir (DVCS — Distributed Version Control System). Sürüm Kontrol Sistemleri ise: bir yazılım ekibinin ya da bireyin, üzerinde çalışılan projede, zaman içerisinde oluşan kaynak kodlarındaki değişiklikleri izleyebilmesine ve yönetmesine yardımcı olan araçlardır.

Peki, izlenebilmesinden kastedilenler nelerdir?

Proje üzerinde:

Kimin, neleri, ne zaman ve hangi ihtiyaçlardan dolayı değiştirdiğinin bilgisine ulaşmak

Bu değişikliklerin, şuan üzerinde çalışılan veya daha önce üzerinde çalışılan kodlarla karşılaştırılması

gibi sebepler söylenebilir.

Yönetilmesinden kastedilenler ise:

Daha önce kaydı oluşturulmuş değişikliklere geri dönülebilir

(Örneğin: geliştirmek için üzerinde çalışılan bir projenin canlıya alınmasıyla ortaya çıkan kritik bir hata anında, çalışan son canlı kısa sürede faal hale getirilebilir).

Üzerinde çalışmak istediğimiz kısımları parçalar haline getirerek, kodları bozma korkusu olmadan, dilediğince çalışılabilir.

Birden fazla kişiyle proje üzerinde çalışmak kolaylaşabilir.

Git’in temelinde yatan üç ana durum (state) vardır.

Bunlar:

Modified: proje dosyalarında değişikliğe gidildiği ancak henüz Git veritabanına eklenmediği durumdur.

Staged: değişikliğe gidilmiş proje dosyalarına ait bir snapshot(görüntü) oluşturma durumudur. Yapılan değişikliklerin önizlenip, Git’e kaydedilmek üzere tutulduğu yerdir.

Committed: snapshot’ların Git veritabanına eklendiği durumdur.



Git projeleri yönetilirken yukarıda bahsedilen üç durumun her zaman kullanıldığı üç ana bölüm vardır. Bunlar:

Git Directory (Repository): Proje üzerinde yaptığınız değişikliklerin depolandığı bölümdür. Root’tur, hayatidir.

Working Tree: projenin bir versiyonunun tutulduğu mevcut çalışma klasördür. Bu dosyalar Git dizinindeki sıkıştırılmış veritabanından (Repository) çıkarılır ve kullanılmak üzere mevcut çalışma klasörüne yerleştirilir.

Staging Area: proje üzerindeki değişikliklerin Git veritabanına gönderilmesi üzerine tutulduğu bir önizleme ve hazırlık alandır.

IT, bir proje üzerinde tanımlandıktan sonra, dizinde bulunan bütün dosyalar için bir durum bilgisi oluşturur. Git, bu durum bilgilerini ya takip edilen (Tracked) ya da takip edilmeyen (Untracked) şeklinde belirtilir. Proje üzerinde yeni bir dosya oluşturulduğunda takip edilmeyen (Untracked) durumundadır. Bir dosya takip edilir (Tracked) olarak belirlenmişse, o dosya üzerinde yapılan bütün değişiklikler Git tarafından incelemeye alınır ve durum bilgisi saklar.

İncelemeye alınan dosyalar üç şekilde değerlendirilir.

Bunlar:

Unmodified,

Modified

ve Staged’dir.

Versiyonlama işlemi için:

Staged: Git veritabanına gönderilecek dosya hazır

Modified: takip edilen dosya üzerinde değişikliğe gidildi

Unmodified: takip edilen dosya üzerinde değişikliğe gidilmedi

şeklinde Git dosyalara ait durum bilgisi saklar.

  • Resmi Web Sitesi
  • - Bilgi İşlem Daire Başkanlığı -