Git Nedir? Git, kısaca bir versiyon kontrol sistemidir.
Uygulamalarımızı yada projelerimizi bilgisayar ortamından ziyade internet ortamında da depolamamızı ve yönetmemizi sağlayan, herhangi bir hata olduğunda yada geri yönelik bir işlem yapmak istediğimizde ilgili proje yada uygulamanın sürümlerini tutarak bize yardımcı olan bir versiyon kontrol sistemidir.
- Linus Torvalds ve Junio Hamano tarafından 7 Nisan 2005 tarihinde ilk kararlı sürümü çıkarılmıştır ve günümüzde hala geliştirilmektedir.
- GNU Genel Kamu Lisansı v2 ile lisanslanmıştır.
Git kullanan servisler sizlere uygulamalarınızı veya projelerinizi hem depolama hem de yönetme imkanı sunar. Bu servislerden en çok bilineni Github tır. Github ile beraber Gitlab ve Bitbucket ta çokça kullanılmaktadır. Arayüz, ücret, performans ve kullanan kişi sayısına bağlı olarak istediğiniz servisi seçebilirsiniz.
Git Çalışma Prensibi
Şimdi gelelim Git in kullanımına ve komutlarına;
Öncelikle https://git-scm.com/downloads adresinden Git i kullandığınız işletim sistemine göre indirmelisiniz. Windows için kurulum aşamaları aşağıda verilmiştir.
1. Adım
2. Adım
3. Adım
4. Adım
5. Adım
6. Adım
7. Adım
8. Adım
~ git config
git config, Git kurulumundan sonra yazmamız gereken bir komuttur. Hangi servis üzerinde çalışıyorsak o ayarlar ilk burada yapılır. Bağlantıdan sonra sizin çalıştığınız servise bağlanmak için eposta ve şifre ister ve böylece git komutları ile direk olarak servisiniz ile çalışabilirsiniz.
- git config —global user.name “Teknokodi”
- git config —global user.email “iletisim@teknokodi.com”
Burada kullanıcı adımızı ve mail adresmizi tanımlıyoruz ve servis ile bağlantı sağlıyoruz.
~ git init
Eğer bir servisten projeyi “clone” lama yada direk “download” yapmadı iseniz bilgisayarınızda bulunan proje klasörünü bir Git repository si haline getirmek için git init komutu kullanılır. Daha sonra çalıştığınız servise dosyanızı gönderebilirsiniz.
- git init proje_adi
~ git clone
Herkese açık bir git projesini yada sizin kendi çalıştığınız projenin son halini bilgisayarınıza indirmek için kullanılan komuttur. Proje url si ile kullanılır.
- git clone proje_url
~ git status
Projenizi commit etmeden önce yapılan tüm değişiklikleri görüntülemenizi sağlar.
- git status
~ git diff
Projenizin Stage aşamasına girmeden önce yapılan değişiklikleri gösterir.
- git diff
~ git diff –cached
Projenizin Stage aşamasında ki yapılan değişiklikleri gösterir.
- git diff –cached
~ git diff HEAD
Projenizin Stage aşamasında ki yada bu alanın dışında yapılan tüm değişiklikleri gösterir.
- git diff HEAD
~ git diff commit1 commit2
Projenizin iki commit arasında yapılan değişiklikleri ve farklılıkları gösterir.
- git diff commit1 commit2
~ git blame
Projenizin belirlenen dosyadaki tüm satırların hangi commit ile eklendiği, kim tarafından ve ne zaman eklendiği bilgilerini gösterir.
- git blame dosya_adi
~ git show
Projenizin belirlenen dosyadaki ilgili commit ve dosya hakkındaki bilgiye ulaşmak için kullanılır.
- git show commit : dosya_adi
~ git log
Projenizde geçmişteki yapılan tüm değişiklikleri ve işlemleri gösterir.
- git log
~ git log -p
Projenizdeki belirli bir dosyanın geçmişteki yapılan tüm değişiklikleri ve işlemleri gösterir.
- git log -p dosya/klasör
~ git branch
Projenizdeki yeni bir branch (dal yada çalışma alanı) açmak için kullanılır.
- git branch branch_ismi yazılırsa yeni bir branch açar.
- git branch yazılırsa localdeki tüm branchleri listeler.
~ git branch -av
Projenizdeki localde ve uzak sunucudaki tüm branchleri listemenizi sağlar.
- git branch -av
- git branch de kullanılabilir.
~ git branch -d
Projenizdeki daha önce oluşturulan bracnh i siler.
- git branch -d branch_ismi
~ git checkout
Projenizdeki başka bir branch e geçmenizi sağlar.
- git checkout branch_ismi
- git checkout -b branch_ismi ile aynı anda hem yeni bir branch oluşturabilir hemde o branch e geçiş yapabilirsiniz.
~ git merge
Projenizdeki iki branch i birleştirmenizi sağlar.
- git branch branch_a (branch_a isimli bir branch oluşturduk.)
- git checkout -b branch_b (branch_b isimli bir branch oluşturduk ve bu branch e geçiş yaptık.)
- git merge branch_a (branch_a ve branch_b branchlerini birleştirdik.)
~ git tag
Projenizi versiyonlamak ve kolay yönetilebilir bir hale getirmek için kullanılır.
- git tag (Repository nizdeki tüm tag leri listeleyebilirsiniz.)
- git tag -m “metin” (Bir tag oluşturup açıklama yazabilirsiniz.)
~ git add
Projenizde yaptığınız değişiklikleri Stage alanına göndermek için kullanılır.
- git add dosya_ismi (Tek bir dosyayı Stage alanına gönderir.)
- git add * (Tüm değişiklikleri Stage alanına gönderir.)
~ git commit
Stage alanındaki değişiklikleri Local Repository alanına atmak için kullanılır.
- git commit -m “mesajınız”
~ git reset
Projede yapılan değişiklikleri geri almamızı sağlayan komuttur.
- git reset dosya_adi (İlgili dosyada yapılan değişiklikleri geri alır.)
- git reset –hard (Yapılan tüm değişiklikleri silerek başa dönmenizi sağlar.)
~ git fetch
Branchleri birleştirmeden son yapılan değişiklikleri çekmemizi sağlar.
- git fetch branch_adi
~ git pull
Branchleri birleştirerek son yapılan değişiklikleri çekmemizi sağlar.
- git pull branch_adi
- git pull –rebase (Commitlerin ve değişikliklerin tek bir branch de toplanması için kullanılır.)
~ git push
Localdeki değişiklikleri repository e aktarmak için kullanılır.
- git push origin branch_ismi (branch_ismi; master, develop yada belirlediğiniz bir branch olabilir.)
Tabi git in yardım bölümünde tüm komutları ve açıklamaları bulabilirsiniz. Bunun için komut isteminde
git –help
yazmanız yeterli olacaktır.
Youtube kanalımızdan bizleri takip edebilirsiniz.