CodeBlanks Logo Icon CodeBlanks

Çalışma vs sahne

Çalışma ağacı ile sahne arasındaki farkı öğrenirsin.

Çalışma ağacı ve sahne

Git'te çalışma ağacı, dosyaların üzerinde düzenleme yaptığın mevcut hâlidir. Sahne (staging area) ise git add ile eklediğin ve sonraki commit için hazırladığın değişiklikleri tutar. git diff, çalışma ağacı ile sahnedeki içerik arasındaki farkı gösterir.

git add index.html
git diff

Bir dosyanın sahnelenmiş ve henüz sahnelenmemiş değişiklikleri birbirinden farklı olabilir.

Değişikliklerin iki farklı durumu

Bir dosyayı önce düzenleyip git add ile sahneye eklediğinde bu değişiklik sahnelenmiş olur. Daha sonra aynı dosyayı yeniden düzenlersen yeni değişiklik çalışma ağacında kalır.

# İlk düzenleme
git add index.html

# İkinci düzenleme
git diff

Bu durumda git diff yalnızca ikinci düzenlemenin sahneye henüz eklenmemiş bölümünü gösterir.

Uygulama Sahne ile çalışma ağacını karşılaştır

Dosya düzenlemeleri arasındaki sahnelenmemiş farkları görmek için git diff komutunu kullan. Komuta başka bir seçenek ekleme.

Başlangıç kodu

terminal
# Çalışma ağacı ile sahneyi karşılaştır
# Komutu buraya yaz

Örnek çözüm

terminal
# Çalışma ağacı ile sahneyi karşılaştır
git diff

Beklenen çıktı

çalışma ağacı ve sahne arasındaki fark gösterilir

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir dosyanın bir değişikliğini sahneledin, ardından aynı dosyada yeni bir düzenleme daha yaptın. git diff neyi gösterir?

  • Sahne ile çalışma ağacı arasındaki farkı Doğru cevap
  • Bütün commit geçmişini
  • Dosyanın ilk oluşturulduğu hâlini
  • Yalnızca sahnelenmiş değişiklikleri

Açıklama: <code>git diff</code>, sahnelenmiş içerikle çalışma ağacındaki mevcut içerik arasındaki henüz sahnelenmemiş farkı gösterir.

2 Dosyayı sahneye ekle

Soru
git add ____
Cevap
git add index.html

Açıklama: <code>git add index.html</code>, index.html dosyasındaki mevcut değişiklikleri sahneye ekler.

3 Değişikliklerin bulunduğu alanlar

Kavram Anlamı
Working tree Henüz sahnelenmemiş içerik
Staging area Commit için hazırlanan içerik
git add Değişiklikleri sahneye taşır
git diff Çalışma ve sahne farkını gösterir

Başlangıç bölümündeki tüm dersler