Git Nedir? Temel Seviye Komutlar ile Anlatım – 1

Git (GNU(Gnu’s Not Unix) Interactive Tools), yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir versiyon kontrol ve kaynak kod yönetim sistemidir. İlk sürümü Linux çekirdeğinin geliştirilmesinde kullanılmak üzere 2005 yılında bizzat Linus Torvalds tarafından tasarlanıp geliştirilmiş ve 2019 yılı itibari ile %70 pazar payına ulaşmıştır. Bu yazının ilk serisinde temel seviye komutlar ile Git anlatımından bahsettim.

Wiki

Git Kurulumu

Aşağıda farklı OS’lar için kurulum komutları mevcuttur. Bundan sonraki adımı macOS üzerinden devam ediyor olacağım.


macOS: brew install git

Windows: choco install git

Linux: sudo apt-get install git

 

Git Kurulum

Git Kurulum

 

Kurulum sonrasında  git –version  komutu ile kurulumun tamamlanıp tamamlanmadığını ve hangi versiyonda olduğuna bakıyorum.

Git Versiyon

Git Versiyon

 

Bu arada kurulum örnekleri için buradaki linke göz atmanızı tavsiye ederim.

 

Git Komutları

Örnek olması açısından hesap makinesi isimli uygulama geliştirme projemiz olsun, uygulamayı geliştirirken versiyon kontrolünü ve kaynak kod yönetimini git ile yapmak istiyorum.

Git Proje

Git Proje

 

Bu kısımda yapılan işlemler sırasıyla; cd komutu ile Desktop’a geçip burada mkdir komutu ile Proje adında bir klasör oluşturduk. Daha sonrasında ls ile içerisinin boş olduğunu gözlemledik. touch komutu ile hesap makinesinde kullanılacak html, js ve css dosyalarını oluşturduk tekrar ls komutu ile dosyaların oluşturulduğundan emin olduk.

 

Init

Proje klasöründeki dosyaları git ile takip etmek istediğimizden dolayı  git init  komutunu kullanarak ilişkilendirme yapıyoruz.

Git Init

Git Init

 

Bu sefer  ls -a  komutu ile (gizli dosyaları görmek için) .git gizli klasörünün oluşturulduğunu gözlemliyoruz.

Git Klasör - 1

Git Klasör – 1

 

Klasörün içeriğine baktığımızda aşağıdaki dosyaların oluştuğunu görebiliriz.

Git Klasör - 2

Git Klasör – 2

 

Status

Dosyalarımızı oluşturduktan sonra  git status  komutu ile son duruma bakalım. Aşağıda görüleceği üzere bize master branch’te çalıştığımızı, bu klasörde takip edilmeyen 3 adet dosyamızın olduğunu ve henüz commit edilmediğini bize söylüyor. Dosyalardaki değişikliklerimizi takip edebilmemiz ve versiyonlarını saklamamız için öncelikle dosyaları stage’e (sahneye almak) almamız gerekecektir.

Git Status - 1

Git Status – 1

 

Add

Dosyaları sahneye almak için git add “dosyaAdi”  komutunu tek tek kullanabileceğimiz gibi  git add .  komutu ile projedeki bütün dosyaları sahneye alabiliriz.  Daha sonrasında git status ile dosyaların kırmızı yerine yeşil ile gösterildiğini görebiliriz.

Git Add

Git Add

 

Commit

Artık bu işlemden sonra commit yapabilir duruma geliyoruz. Projemize ait ilk snapshot’umuzu yani fotografımızı çekebilir ve takip durumuna alabiliriz.. Bunun için  git commit -m “projenin ilk calisir hali”  komutunu kullanıyoruz. Artık dosyalar üzerinde herhangi bir değişiklik olduğunda bununla ilgili bize bilgi dönecektir.

Git Commit - 1

Git Commit – 1

 

git status komutunu tekrardan çalıştırdığımızda artık bize commit edilecek bir şey olmadığını söylüyor, çünkü herhangi bir değişiklik yok.

Git Status - 2

Git Status – 2

 

Log

git log komutu ile yapmış olduğumuz commit işlemine unique id tanımlıyor ve mesajımızı bu alanda gösteriyor.

Git Log

Git Log

 

Oluşturmuş olduğumuz dosyaların içi boştu, hesap makinesi için oluşturmuş olduğumuz dosyalarda değişiklikler yaptık. (html, css, js)

Proje - 1

Proje – 1

 

Yapılan değişiklikler sonrasında projemize ait ön izleme

Proje - On izleme

Proje – On izleme

 

Sonrasında Proje klasöründe terminal ile  git status  komutu çalıştırdığımızda

Git Status - 3

Git Status – 3

Bize ilgili dosyalar üzerinde değişiklikler (modified) olduğunu belirtiyor. Yine daha önceden bahsettiğim üzere  git add .  komutu ile dosyaların güncellenmiş halini sahneye (stage) alıyorum.

Git Add - 2

Git Add – 2

 

Görüleceği üzere yine dosyalarımız yeşil ile gösterilmeye başlandı. Stage’de bulunan dosyalarımızın ilk hali ile şimdiki hali arasında ne gibi değişiklikler oldu bunu öğrenmek için  git diff – -stage   komutu kullanılabileceği gibi henüz stage’e almamış olduğumuz dosyalardaki değişiklikleri görebilmek için  git diff  komutu kullanılabilir.

Tekrar son değişikliklerimizi commit ( git commit -m “mesaj” ) ediyoruz. Bize 3 dosyada toplamda 239 ekleme olduğunu belirten bir çıktı gönderiyor.

Git Commit - 2

Git Commit – 2

Tekrardan git log komutunu kullanarak kaç adet snapshot’umuzun olduğunu gözlemleyebiliyoruz. Burada görüleceği üzere Projemize ait 2 versiyon bulunmaktadır.

Git Log - 2

Git Log – 2

 

Checkout

Diyelim ki snapshotlar arası geçiş yapmak istiyoruz. Örnek olması açısından dosyalarımın boş hali olan ilk snapshot’a ( ya da ilk commite her neyse 🙂 ) geri dönüş yapıyorum. Bunun için  git checkout <id>   komutunu çalıştırmam gerekmektedir.

Git Checkout - 1

Git Checkout – 1

 

HEAD, artık 499ccb8 ID’si ile başlayan projemizin ilk hali olarak gözükmektedir. Index.html dosyamızı açtığımızda projemizin ilk hali olan boş bir sayfa bizi karşılıyor olmalı…

Proje - On izleme - 2

Proje – On izleme – 2

 

Switch

Projemizi  git switch –  komutu ile tekrar eski haline getirelim ve master’a döndüğümüzü görelim.

Git Switch - 1

Git Switch – 1

Git Log - 3

Git Log – 3

 

Tekrar index.html dosyasını çağırdığımızda projemizin son hali gelecektir.

Proje - On izleme

Proje – On izleme

 

 


Abone ol
Bildir
guest
0 Yorum
Satır İçi Geri Bildirimler
Tüm yorumları görüntüle