Çalışma vs sahne
- Git kursu
- Başlangıç
- Ders 34/80
- 4 dk
Ç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 diffBir 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 diffBu 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
# Çalışma ağacı ile sahneyi karşılaştır
# Komutu buraya yazÖrnek çözüm
# Çalışma ağacı ile sahneyi karşılaştır
git diffBeklenen çı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
git add ____
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 |