GIT Nedir ? GIT Nasıl Kurulur? Temel GIT Komutları Nelerdir?
Günlük hayatta yaptıklarımızı bir yere kaydetmek için günlük tutuyorduk. Peki projelerimizde bunu nasıl başarabiliriz? Yazılım ile ilgileniyorsanız veya versiyon kontrol sistemlerine ilginiz varsa kulağımızın aşina olduğu Git kavramını gelin birlikte inceleyelim.
Versiyon Kontrol Sistemi(Version Control System) Nedir?
Versiyon kontrol sistemi, herhangi bir dosya üzerinde yaptığımız degişiklikleri adım adım kaydetmemizi ve bu değişiklikleri yönetmemizi sağlayan bir sistemdir. GIT, SVN, ClearCase ve Mercurial sürüm kontrol sistemlerine örnek olarak gösterilebilir.
GIT Nedir?
GIT, dağıtık (distributed) bir versiyon kontrol sistemidir.
GIT, eşzamanlı olarak bir projede farklı takım üyelerinin de çalışmasına olanak sağlar. Örneğin; bir A yazılım projesinde çalışıyorsunuz. Sizin göreviniz bu projede kullanıcının giriş yapmasını sağlayan bir özellik getirmek. Y arkadaşınız ise bu projede kullanıcının resim yüklemesini sağlayan bir özellik geliştirsin. Daha sonra tüm özellikleri projeye ekleyelim. Artık projemiz hazır. Aynı proje üzerinde farklı bölümlerle çalışmanıza olanak sağlayan GIT sayesinde projenizi daha efektif ve kontrollü yönetebilirsiniz.
GIT Kurulumu
GIT kurulumu için https://git-scm.com/downloads adresine gidip ilgili işletim sisteminize ait yönlendirmeleri takip ederek kurulumu gerçekleştirebilirsiniz.
Git Başlangıç Ayarlarını Yapalım:
GIT projedeki değişikleri kimin adına kaydeteceğini sisteme verdiğiniz kullanıcı adı ve şifre ile tanımlar.
$ git config --global user.name "Kullanici Adiniz"
Kullanıcı adınızı çift tırnak(“ “) içerisindeki alana yazabilirsiniz.
$ git config --global user.email "E-Posta Adresiniz"
E-posta adresinizi çift tırnak(“ “) içerisindeki alana yazabilirsiniz.
Yaptığınız ayarların uygulandığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz.
$ git config --list --global
Git Komutları
Gelin birlikte masaüstünde bir kitap oluşturduğumuzu düşünelim. Ve bu kitabın her bir gelişmesini kaydedelim. Oluşturacağımız proje MacOs, Linux ve Windows için aynı komutları içermektedir.
Öncelikle bulunduğumuz yolu tespit edelim.
$ pwd
/c/Users/Burak/
‘ls’ komutunu kullanarak bu dizin altındaki dosyalarımızı görelim.
$ ls
Masaüstüne dizinine geçmek için ‘cd Desktop’ komutunu kullanalım.
$ cd Desktop
Ve şimdi masaüstündeyiz. Dosya oluşturmak için ‘mkdir’ komutu bize yardımcı olacak.
$ mkdir Book
Kitap dosyamızın dizinine girelim.
$ cd Book
git status komutu:
Bu komut sayesinde dosyamızdaki yapılan değişiklerin GIT tarafından takip edilip edilmediğini görmemizi sağlayan ve GIT ile bunları yönlendirmemizi sağlayan komuttur.
Kitap dosyamızın GIT bağlantısı yapıldığının kontrolünü yapmak amacıyla ‘git status’ komutunu çağıralım.
$ git status
fatal: not a git repository (or any of the parent directories): .git
Bize dosyamızın git bağlantısının olmadığını ve bunu yapmamız gerektiğini bildiriyor.
git init komutu:
Bu komut sayesinde dosyamızın bir GIT kontrol sistemi tarafından yönetildiğini belirtiyoruz. Burada dikkat etmemiz gereken bir dosyayı bir kere belirttikten sonra tekrar belirtmemiz problemlere yol açabilir.
Kitap dosyamızın GIT bağlantısını yapalım.
$ git init
Initialized empty Git repository in C:/Users/Burak/Desktop/Book/.git/
Tebrikler Kitap dosyamız artık bir versiyon kontrol sistemine sahip!
Ve şimdi Kitap dosyamızın içine bir önsöz dökümanı ekleyelim.
$ touch preface.txt
Daha sonra projemizdeki oluşan değişikleri tespit etmek için tekrar ‘git status’ komutunu çağıralım.
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
preface.txt
nothing added to commit but untracked files present (use "git add" to track)
Bize GIT kontrol sisteminin oluşturduğumuz yeni dökümanı takip etmediğini söylüyor.
git add komutu:
Bu komut sayesinde takip edilmeyen dosyalarımızı GIT kontrol sistemi tarafından takip edilmesini sağlarız.
Kitap dosyamızdaki takip edilmeyen dökümanı GIT tarafından takip edilmesini sağlayalım.
$ git add preface.txt
Önsöz dökümanımız artık takip altında!
Ayrıca takip edilmeyen tüm dosyaları tek tek yazmak yerine hepsini birden takip etmek için ‘git add . ‘ komutunu kullanabiliriz.
$ git add .
git commit komutu:
Bu komut sayesinde dosyamızda yaptığımız değişikleri kayıt altında tutabiliriz.
Kitap dosyamızdaki önsöz kısmını commit edelim. Bu işlemi en çok kullanılan haliyle ‘git commit -m “Commit message” ‘ şeklinde kullabilirken, ‘git commit ‘ komutu ile direkt text editör içinde de düzenleyebiliriz.
$ git commit -m "Preface files created."
git log komutu:
Bu komut oluşturduğumuz yaptığımız tüm değişikleri detaylı bir şekilde görmemizi sağlar.
Oluşan bu dökümanın içine “Bu bir önsözdür.” yazısını ekleyelim. Ve tekrar ‘git status’ komutunu çağıralım.
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
preface.txt
nothing added to commit but untracked files present (use "git add" to track)
Takip edilmeyen yeni dosyamızı ekleyelim.
$ git add .
Ve bu dosyamızı commit edelim.
$ git commit -m "Preface files updated."
Oluşan commitleri görmek için şimdi ‘git log’ komutunu kullanalım.
$ git log
commit 7288a7066ddc76a2eb7e86c03973c4f94053591f (HEAD -> master)
Author: Burak Keçeci <burakdemo@gmail.com>
Date: Mon Jun 13 17:44:48 2022 +0300
Preface files updated.
commit 093e60890e60e19c4d53572127f3499c2ee90b3a
Author: Burak Keçeci <burakdemo@gmail.com>
Date: Mon Jun 13 17:40:50 2022 +0300
Preface files created.
Gördüğünüz gibi yaptığımız 2 farklı commit listelendi.
GIT kullanımı sadece yazılım projelerinde değil örnekte olduğu gibi bir döküman projesinde bile oldukça kullanışlı oluyor. Bu yazıda temel git komutları ile giriş yaptık. Serinin devamında farklı dallarda çalışma ve projeye entegrasyonunu inceleyip, kodlarımızı GitHub vb. gibi platformlarda paylaşmayı öğreneceğiz.