Bu sayfada · 9 başlık
Git Hakkında Bilmen Gereken 5 Temel Soru
Kod tabanındaki tüm değişiklikleri kaydetmek, geçmiş sürümlere dönebilmek ve ekip halinde çakışmadan çalışmak için kullanılan dağıtık sürüm kontrol sistemidir.
Kod commit’leme, farklı özellikler için branch (dal) açma, birleştirme (merge) ve hatalı sürümleri geri alma işlemleri yapılır.
Tek kişilik projelerden binlerce kişilik dev teknoloji ekiplerine kadar istisnasız tüm yazılım dünyasında kullanılır.
git-scm.com adresinden veya paket yöneticisinden kurulur; terminalden komut satırıyla veya VS Code içinden çalıştırılır.
Kodunuzun emniyet kemeridir; hiçbir çalışmayı kaybetmemenizi ve ekiplerin aynı dosyalarda güvenle çalışmasını sağlar.
Git ne için kullanılır?
Kodun her önemli hâlini kaydetmek (commit)
Bir şey bozulunca eski sürüme dönmek
Dallarla (branch) yeni özellikleri ayrı denemek
Başkalarıyla aynı proje üzerinde çalışmak
Git kullanırken duyacağın kavramlar
- Depo (repository)
- Git'in takip ettiği proje klasörü ve tüm geçmişi.
- Kayıt (commit)
- Projenin belli bir andaki fotoğrafı. Her kaydın bir açıklama mesajı olur.
- Dal (branch)
- Ana kodu bozmadan yeni bir özelliği ayrı denediğin paralel çalışma yolu.
- Birleştirme (merge)
- Bir daldaki değişiklikleri başka bir dala eklemek.
- Çakışma (conflict)
- İki kişi aynı satırı farklı değiştirdiğinde Git'in hangisini seçeceğini sana sorması.
Nasıl kurulur?
Adımları görsellerle takip et. Ekran görüntüsüne dokunarak büyütebilirsin; sürümüne veya işletim sistemine göre düğmelerin yeri değişebilir.
- 1
-
2
Mac'te Terminal'e şunu yaz. Git yüklü değilse kurulmasını isteyen bir pencere açılır:
Terminalgit --versionŞekil 2 · Terminal Git'in sürümünü yazıyorsa kurulum tamam. (temsili çizim) -
3
Kurulumdan sonra adını ve e-postanı bir kez tanıt:
Terminalgit config --global user.name "Adın Soyadın" git config --global user.email "eposta@ornek.com"Şekil 3 · Ayarlarını kontrol etmek için: git config --global --list (temsili çizim)
Nasıl kullanılır?
Adım adım ilk kullanım. Kod kutularındaki "Kopyala" butonuyla komutları kopyalayabilirsin.
Projeyi Git'e tanıt
Proje klasöründe terminali açıp bir kez çalıştır:
git init
git init komutunu yalnızca seçtiğin deneme klasöründe çalıştır.
Oluşan .git alanı geçmiş verisini tutar; onu rastgele silme veya proje içine ikinci depo açma.
git status çıktısında hangi dalda olduğunu ve izlenmeyen dosyaları gör.
Uygulama: Boş klasörde git init çalıştır.
Kontrol: Çalışma alanı, staging ve commit farkını anlatıyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Projeyi Git'e tanıt
git init komutunu yalnızca seçtiğin deneme klasöründe çalıştır.
İşin mantığı
Oluşan .git alanı geçmiş verisini tutar; onu rastgele silme veya proje içine ikinci depo açma.
Uygula ve gözlemle
git status çıktısında hangi dalda olduğunu ve izlenmeyen dosyaları gör.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
git initSomut görev
Boş klasörde git init çalıştır.
Kontrol et
Çalışma alanı, staging ve commit farkını anlatıyorum.
Takılırsan
Değişiklik commit’e girmedi — Dosyayı kaydet, git add ile hazırla ve git diff --staged çıktısını denetle.
Kendine sor
git add kayıt oluşturur mu? Yanıt: Hayır, değişiklikleri sonraki commit için hazırlar.
Değişiklikleri kaydet
Her önemli adımdan sonra değişiklikleri kayda al:
git add .
git commit -m "Ana sayfa eklendi"
Önce değişikliği kaydet, sonra git diff ile içeriği incele.
git add ile yalnızca amaçladığın dosyayı seç; git diff --staged ile sonraki kaydı gözden geçir.
git commit kısa ve anlamlı bir mesajla kayıt oluşturur; seçmediğin değişiklikler dışarıda kalabilir.
Uygulama: notlar.txt dosyasına bir hedef yaz; add ve commit yap.
Kontrol: Kaydetmenin commit olmadığını biliyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Değişiklikleri kaydet
Önce değişikliği kaydet, sonra git diff ile içeriği incele.
İşin mantığı
git add ile yalnızca amaçladığın dosyayı seç; git diff --staged ile sonraki kaydı gözden geçir.
Uygula ve gözlemle
git commit kısa ve anlamlı bir mesajla kayıt oluşturur; seçmediğin değişiklikler dışarıda kalabilir.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
git add .
git commit -m "Ana sayfa eklendi"Somut görev
notlar.txt dosyasına bir hedef yaz; add ve commit yap.
Kontrol et
Kaydetmenin commit olmadığını biliyorum.
Takılırsan
Yanlış klasörde depo açıldı — Önce bulunduğun dizini ve git rev-parse --show-toplevel sonucunu incele; gerçek projenin .git alanını silme.
Kendine sor
Commit otomatik olarak GitHub’a gider mi? Yanıt: Hayır, yerel kayıttır; uzak gönderim ayrı işlemdir.
Durumu kontrol et
Hangi dosyaların değiştiğini gör:
git status
git status kaydedilen, hazırlanan ve izlenmeyen durumları birbirinden ayırır.
“Nothing to commit” bir uzak sunucuya gönderim kanıtı değildir; yalnızca yerel durumdur.
Bir dosyayı tekrar değiştir; aynı dosyanın yeni değişikliğinin nasıl göründüğünü izle.
Uygulama: İkinci bir satır ekle; diff ile değişikliği gör.
Kontrol: Hazırlanan farkı commit öncesi okuyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Durumu kontrol et
git status kaydedilen, hazırlanan ve izlenmeyen durumları birbirinden ayırır.
İşin mantığı
“Nothing to commit” bir uzak sunucuya gönderim kanıtı değildir; yalnızca yerel durumdur.
Uygula ve gözlemle
Bir dosyayı tekrar değiştir; aynı dosyanın yeni değişikliğinin nasıl göründüğünü izle.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
git statusSomut görev
İkinci bir satır ekle; diff ile değişikliği gör.
Kontrol et
Hazırlanan farkı commit öncesi okuyorum.
Takılırsan
Gizli dosya geçmişe girdi — .gitignore geçmişi silmez. Açığa çıkan sırrı iptal et; izleme ve geçmiş temizliğini ayrı, dikkatli bir süreçle ele al.
Kendine sor
.gitignore daha önce izlenen dosyayı geçmişten siler mi? Yanıt: Hayır; izleme ve geçmiş ayrı işlemler gerektirir.
Geçmişe bak
Yaptığın bütün kayıtları listele:
git log --oneline
git log --oneline son kayıtları kısa biçimde gösterir.
Bir kaydın kimliği, mesajı ve sırası geçmişi okumaya yardım eder.
İki kayıt arasındaki farkı incele; önce farkı anlamadan reset --hard gibi veri kaybettiren komutlara geçme.
Uygulama: Yalnızca bu dosyayı hazırlayıp ikinci commit’i oluştur.
Kontrol: Uzak sunucu kullanmadan geçmiş oluşturabiliyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Geçmişe bak
git log --oneline son kayıtları kısa biçimde gösterir.
İşin mantığı
Bir kaydın kimliği, mesajı ve sırası geçmişi okumaya yardım eder.
Uygula ve gözlemle
İki kayıt arasındaki farkı incele; önce farkı anlamadan reset --hard gibi veri kaybettiren komutlara geçme.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
git log --onelineSomut görev
Yalnızca bu dosyayı hazırlayıp ikinci commit’i oluştur.
Kontrol et
Uzak sunucu kullanmadan geçmiş oluşturabiliyorum.
Takılırsan
Gizli dosya geçmişe girdi — .gitignore geçmişi silmez. Açığa çıkan sırrı iptal et; izleme ve geçmiş temizliğini ayrı, dikkatli bir süreçle ele al.
Kendine sor
.gitignore daha önce izlenen dosyayı geçmişten siler mi? Yanıt: Hayır; izleme ve geçmiş ayrı işlemler gerektirir.
Sık karşılaşılan sorunlar ve çözümleri
Bir yerde takılırsan önce buraya bak.
"fatal: not a git repository" hatası
Çözüm: Yanlış klasördesin ya da bu klasörde henüz git init çalıştırılmamış.
Son kayıt mesajını yanlış yazdım
Çözüm: Henüz GitHub'a göndermediysen şu komutla düzeltebilirsin: git commit --amend -m "Yeni mesaj"
Çakışma (merge conflict) çıktı
Çözüm: Dosyada <<<<<<<, ======= ve >>>>>>> ile işaretlenen yerleri düzenleyip istediğin hâli bırak, sonra git add ve git commit yap.
Sık sorulan sorular
Git ile GitHub aynı şey mi? +
Hayır. Git bilgisayarında çalışan kayıt aracıdır; GitHub ise bu kayıtları internette saklayan bir sitedir.
Git öğrenmek zor mu? +
Günlük işlerin çoğu için 5-6 komut yeterli: init, add, commit, status, log, push.
İpuçları
- Kayıt mesajlarını anlaşılır yaz: "düzeltme" yerine "Menüdeki bağlantı hatası düzeltildi" gibi.
.gitignoredosyasıyla gereksiz ve gizli dosyaları (şifreler,.env) kayıt dışında bırak.- Terminalden çekiniyorsan VS Code'daki Source Control bölümüyle aynı işleri tıklayarak yapabilirsin.
Git uygulamalı eğitim atölyesi
Git dosyalarının geçmişini yerel olarak izleyen bir sürüm kontrol sistemidir. GitHub veya GitLab hesabı açmak Git’i öğrenmenin ön koşulu değildir. İlk denemeyi boş bir yerel klasörde yaparak geçmişin, çalışma dosyalarının ve kayıtların nasıl ayrıldığını görebilirsin.
Çalışma alanı dosyalarının son hâlidir; staging bir sonraki commit için seçtiğin değişikliklerdir; commit ise bir geçmiş kaydıdır. Dosyayı kaydetmek commit oluşturmaz. Commit oluşturmak da onu otomatik olarak başka bilgisayara veya internete göndermez.
Geçmişi güvenli kullanmanın ilk alışkanlığı durum ve fark okumaktır. Bir komutu kopyalamadan önce git status ve git diff ile ne değiştiğini gör. Geri alma komutlarının etkisi farklıdır; ilk çalışmada silen veya geçmişi zorla yeniden yazan komutlar yerine yeni bir düzeltme kaydı oluşturmayı öğren.
Kurulum öncesi ve doğrulama
- Resmî Git kurulumunu tamamla; git --version ile çalıştığını doğrula.
- Boş bir deneme klasörü kullan.
- Kimlik bilgisini örnek veya sana ait uygun bilgilerle ayarla; bunun servis giriş parolası olmadığını bil.

Videoyla adım adım izle · 5:00
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
İki kayıt ve bir düzeltme içeren yerel günlük
Git dosyalarının geçmişini yerel olarak izleyen bir sürüm kontrol sistemidir. GitHub veya GitLab hesabı açmak Git’i öğrenmenin ön koşulu değildir. İlk denemeyi boş bir yerel klasörde yaparak geçmişin, çalışma dosyalarının ve kayıtların nasıl ayrıldığını görebilirsin.
Hazırlık
Resmî Git kurulumunu tamamla; git --version ile çalıştığını doğrula. Boş bir deneme klasörü kullan.
Proje adımı 1
Boş klasörde git init çalıştır.
Proje adımı 2
notlar.txt dosyasına bir hedef yaz; add ve commit yap.
Proje adımı 3
İkinci bir satır ekle; diff ile değişikliği gör.
Proje adımı 4
Yalnızca bu dosyayı hazırlayıp ikinci commit’i oluştur.
Proje adımı 5
Yanlış bir cümleyi düzelt ve yeni bir commit ile kaydet.
Proje adımı 6
git log --oneline ve git show ile geçmişi ve değişiklikleri incele.
Başarı ölçütü 1
Çalışma alanı, staging ve commit farkını anlatıyorum.
Başarı ölçütü 2
Kaydetmenin commit olmadığını biliyorum.
Başarı ölçütü 3
Hazırlanan farkı commit öncesi okuyorum.
Başarı ölçütü 4
Uzak sunucu kullanmadan geçmiş oluşturabiliyorum.
Bitirme çalışması: İki kayıt ve bir düzeltme içeren yerel günlük
- Boş klasörde git init çalıştır.
- notlar.txt dosyasına bir hedef yaz; add ve commit yap.
- İkinci bir satır ekle; diff ile değişikliği gör.
- Yalnızca bu dosyayı hazırlayıp ikinci commit’i oluştur.
- Yanlış bir cümleyi düzelt ve yeni bir commit ile kaydet.
- git log --oneline ve git show ile geçmişi ve değişiklikleri incele.
Başarı ölçütlerin
- Çalışma alanı, staging ve commit farkını anlatıyorum.
- Kaydetmenin commit olmadığını biliyorum.
- Hazırlanan farkı commit öncesi okuyorum.
- Uzak sunucu kullanmadan geçmiş oluşturabiliyorum.
Sorun giderme masası
Değişiklik commit’e girmedi
Dosyayı kaydet, git add ile hazırla ve git diff --staged çıktısını denetle.
Yanlış klasörde depo açıldı
Önce bulunduğun dizini ve git rev-parse --show-toplevel sonucunu incele; gerçek projenin .git alanını silme.
Gizli dosya geçmişe girdi
.gitignore geçmişi silmez. Açığa çıkan sırrı iptal et; izleme ve geçmiş temizliğini ayrı, dikkatli bir süreçle ele al.
Kendini kontrol et
git add kayıt oluşturur mu?
Hayır, değişiklikleri sonraki commit için hazırlar.
Commit otomatik olarak GitHub’a gider mi?
Hayır, yerel kayıttır; uzak gönderim ayrı işlemdir.
.gitignore daha önce izlenen dosyayı geçmişten siler mi?
Hayır; izleme ve geçmiş ayrı işlemler gerektirir.
Bir sonraki modüller
- Dallar ve birleştirme
- Çakışma çözme
- Uzak depo ve ortak çalışma
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.