Git’in Depolama Sistemi ve İşleyişi

Emre Alşan
FLO Teknoloji
Published in
2 min readMay 29, 2023

Bir önceki yazımda Git nedir ve Git’in avantajlarına değinmiştim. Bu yazımda Git’in depolama sistemi ve işleyişi üzerinde duracağım.

Git’in temel yapısı, projenin farklı bileşenlerini içeren üç ayrı depo üzerine kuruludur: Çalışma Deposu, Lokal Depo ve Canlı Depo. Bu makalede, Git’in bu depolar arasındaki ilişkisini ve işleyişini ele alacağım. Ayrıca, Git’in sunduğu bir diğer önemli bileşen olan Stash Deposunu da inceleyeceğim.

1-Çalışma Deposu

Git’in depolama sistemindeki ilk bileşen, her geliştiricinin kendi bilgisayarında bulunan Çalışma Deposudur. Çalışma Deposu, projenin o an oluşan bir kopyasını içerir ve geliştiricinin local çalışma ortamında değişiklikler yapmasına olanak sağlar. Geliştirici, projenin kaynak kodunu bu çalışma deposuna klonlayarak çalışmalarını gerçekleştirir.

*Depolar ve Branchlar arasında konum değiştirmek için “git checkout” komutu, Local Depolara geçiş yapmak için “git checkout origin/depoAdı” komutu kullanılır. Bir Local Depodan yeni bir Çalışma Deposu oluşturmak için ise “git checkout -b ÇalışmaDeposuAdı” şeklinde bir komut kullanılır.

Geliştirici projeyi Local Depo’dan Çalışma Deposuna “git pull” komutu ile kopya alıp -eğer ilgili branch’ın takip ettiği bir Local Depo yok ise git pull origin/LocalDepoAdı- birbirlerinden bağımsız olarak değişiklik yapar ve local ortamında test edebilir.

2-Local Depo

Git’in ikinci bileşeni olan Local Depo, Projenin Canlı Depo’dan beslenen ve Çalışma Deposu’nda yapılan değişikliklerin commitler halinde tutulduğu yerdir.

Geliştiriciler Çalışma Deposunda yaptığı değişikliklerin hangilerini commite ekleyeceğini “git add” komutu ile belirler daha sonra git commit ile belirlediği dosyaları Local Depoya alır. Local depoya eklediği commitleri “git push” komutu ile Canlı Depoya aktarabilir.

Geliştiriciler Canlı Depodaki kodları Local Deposuna almak için “git fetch” veya “git remote update” komutlarını kullanabilir. Bu komutlar Canlı Depoda olan commitleri Local Depoya (origin) kopyalayacaktır.

3-Canlı Depo

Git’in üçüncü bileşeni olan Canlı Depo, projenin tüm geçmişini ve değişikliklerini içeren merkezi bir depodur. Bu depo, geliştiricilerin birlikte çalışmasını ve değişikliklerini paylaşmasını sağlar. Genellikle projenin paylaşılan bir sunucuda (örneğin, GitHub, GitLab veya Bitbucket gibi) barındırılan bir uzak sunucu üzerinde bulunur.

Stash Deposu

Git’in bir diğer önemli bileşeni olan Stash Deposu, geçici olarak çalışmalarınızı saklamak için kullanılır. Eğer üzerinde çalıştığınız bir dosyada değişiklikler yaptınız ancak henüz tamamlamadıysanız, bu değişiklikleri stash deposuna saklayabilirsiniz. Bu sayede, başka bir görev üzerinde çalışırken değişikliklerinizi kaybetmezsiniz ve daha sonra çalışmalarınıza geri dönebilirsiniz.

Stash deposu, geçici olarak değişiklikleri kaydetmenizi ve ardından bu değişiklikleri gerektiğinde tekrar uygulamanızı sağlar. Böylece, başka bir dalda çalışırken veya acil bir düzeltme yaparken, geçici değişikliklerinizi güvenli bir şekilde saklayabilirsiniz. Değişiklikleri saklamak için “git stash”, değişiklikleri tekrar Çalışma Deponuza almak için “git stash apply” veya “git stash pop” komutlarını kullanabilirsiniz.

--

--