Bilgi Akışı

Git Nedir?

Herkese merhaba bu yazıda Git(Versiyon Kontrol Sistemi)’i konuşacağız.

Bu yazıyı okuyanların bir kodlama geçmişi olduğunu varsayarak yazıma başlıyorum.

Hepimiz kod yazarken çalışan bir programı iyileştirmek  veya genişletmek için üzerine eklemeler yapmışızdır. Yapılan bu eklemelerin neticesinde programımız bir daha eskisi gibi çalışmadığını da görmüşüzdür. Eskiden çalışan program şimdi çalışmıyor şimdi ne olacak diye kara kara düşündüğünüzü hatırlayın. Tam bu gibi noktalarda git imdadımıza yetişiyor. Bu gibi diyorum çünkü günümüz popüler yazılım geliştirme metodolojisi olan dağıtık sistemlerde kocaman projelerde bir yerinde oluşan hata tüm projeyi etkileme durumu vardır.

Bu olumsuz durumu gören Linus torvalds, güncellediğimiz her dosyayı projemiz üzerinde versiyonlayan Git sistemini yazmıştır(Kendisi aynı zamanda linux çekirdeğini yazan kişidir)

Git Nedir?

Git versiyon kontrol sistemidir.  Birden fazla kişi tarafından erişilen proje dosyalarını yapılan her değişiklikte eskisinin imaj dosyalarını tutar, eğer geriye dönmek istersek geri dönmeyi sağlar.

GitHub’tan farkı nedir?

Aslında farkı yok Git bir çekirdektir. Yani işi yapan en temel program. Github veya gitlab gibi programlar bu sistemin üzerine inşa edilmişlerdir. Github’ın temel çekirdekten farkı proje dosyalarına herkesin erişmesi için internette depolayan bir sistem olmasıdır.

Git Nasıl Çalışır?

Git sisteminin nasıl çalıştığını aşağıdaki görselden bakarak sırayla anlayalım

Aşağıdaki adımları sizinde yapabilmeniz için bilgisayarınızda git programının kurulu olması gereklidir. Nasıl kurulacağını öğrenmek isterseniz internette araştırabilirsiniz.Working with Git - Lean In Women In Tech India - Medium

1.Adım: Bu adım da github gibi sistemde bulunan mevcut projeyi indirerek başlamış. Bu adımı biz kendi bilgisayarımızda da yapabiliriz eğer sıfırdan bir projeye başlayacaksak bu adım tabiki de yapılmaz. Bu adımdan görselin atladığı bir kısım var o da mevcut klasörümüzü git’e hazırlamak bunun için terminal ekranına git init yazıyoruz. Eğer terminal ekranında sorun yoksa sorun yok demektir. Klasör ayarlarında gizli dosyaları gösteri açarsanız git ile alakalı dosyaların geldiğini görürsünüz. Daha sonra görselde ki gibi indereceğimiz  projeyi  komuta giriyoruz git pull https://github.com/macagua/example.java.helloworld.git bu sayede github’taki projeyi bilgisayarımıza indirmiş olduk.

2.Adım: Burada kullanılan checkout metodunun aslında 2 görevi var burada burada sadece 1. görevini kullanmış. Bir önceki versiyona gitmiş. Biz projemizi her güncellediğimizde log kaydında bir önceki id ile kaydı tutulur Bu id de aşağıdaki resimde ki commit’in yanında yazan harf ve rakamlardan oluşan karakterlerdir. Yani şöyle git checkout 006….

Git log format history | Use Git log to format the commit history ...

3.Adım: Git dosyalarımızda yapılan her değişikliği görür. Bu değişiklileri local git sistemimize kayıt etmeden önce Staging Area’ya kaydederiz, Bu noktada henüz git id si verilmemiştir. Git sistemi ile dosyalarımız arasında köprüdür. Bu işlemi yapmak için git add .  komutunu kullanırız.

4.Adım: Staging Area’da bulunan dosyalarımız git sistemine kayıt etme sistemidir. Bizim burada yaptığımız iş git’e diyoruz ki biz artık bu dosyalar ile çalışıyoruz. Git’e bunu anlıyor artık yeni dosyaların bu olduğunu kabul ediyor ve log kaydına işliyor sonra da eski sistemi imaj olarak veritabanında saklıyor. Bu işlemi yapmak için git commit -m "yapılan değişiklik bilgisi"  komutunu kullanırız.

5.Adım: Projemizin yeni halini Github gibi sitelerde paylaşıyoruz.

Son Olarak Branch Nedir?

Bir ev yapıldığını düşünün bu evin elektrik tesisatçısı, su tesisatçısı, duvar örme ustası, parke taşı döşeme ustası vs. hepsi farklı işler yapıyorlar değil mi? Git sistemininde bunun karşılı branch(dal)’tir. Aslında ev yapma işinde oldukça yavaş süren bu süreç git sistemi ile oldukça hızlanmıştır. Her kişi kendi alanında çıkarttığı ürünü projeye ekleyerek tam bir ürün çıkartabilir hem de bu işleri paralel şekilde yapabilir.

12 Branching (git branch) | Git & GitHub Tutorial for Scientists ...

Bu yazıda Git sistemi hakkında bahsettik daha fazlasını öğrenmek için internette daha detaylı makaleleri okuyup öğrenebilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Makaleler

Başa dön tuşu