CodeBlanks Logo Icon CodeBlanks

pop vs apply

stash pop ile stash apply arasındaki farkı öğrenirsin.

Stash'i geri yükleme: pop ve apply

Sakladığın değişiklikleri geri yüklemek için iki temel komut bulunur: git stash pop ve git stash apply. git stash pop, en üstteki stash'i çalışma alanına geri yükler ve işlem başarılı olursa kaydı yığından siler. git stash apply ise değişiklikleri uygular ancak kaydı yığında saklamaya devam eder.

# Uygula ve yigindan kaldir:
git stash pop
# Uygula ama yiginda tut:
git stash apply

Aynı değişikliği birden fazla dala uygulamak istiyorsan apply seçeneği idealdir.

Kayıtları temizleme: drop ve clear

apply kullandıktan sonra veya artık ihtiyaç kalmayan bir stash'i silmek için git stash drop komutu kullanılır. Belirli bir kaydı silmek için indeks verebilirsin: git stash drop stash@{1}. Yığındaki bütün stash kayıtlarını tek seferde tamamen silmek istersen git stash clear komutunu çalıştırırsın.

git stash drop stash@{0}
git stash clear

Temizlik komutları geri alınamaz, bu yüzden önemli değişiklikleri önceden uyguladığından emin olmalısın.

Uygulama Stash'i pop ile geri yükle

Yığındaki stash kaydını git stash pop -q ile geri yükle ve ardından cat metin.txt ile dosyanın güncel halini ekrana yazdır.

Başlangıç kodu

terminal
git init -q -b main
git config user.name "Leyla"
git config user.email "leyla@example.com"
echo "orijinal" > metin.txt
git add metin.txt
git commit -qm "Ilk metin"
echo "eklenen satir" >> metin.txt
git stash push -qm "metin guncelleme"

# Stash'i pop ile uygula ve dosya icerigini yazdir

Örnek çözüm

terminal
git init -q -b main
git config user.name "Leyla"
git config user.email "leyla@example.com"
echo "orijinal" > metin.txt
git add metin.txt
git commit -qm "Ilk metin"
echo "eklenen satir" >> metin.txt
git stash push -qm "metin guncelleme"

git stash pop -q
cat metin.txt

Beklenen çıktı

orijinal
eklenen satir

Soru ve cevaplar

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

1 git stash apply komutunun git stash pop komutundan temel farkı nedir?

  • apply kaydı yığından silmez, pop ise uyguladıktan sonra siler Doğru cevap
  • apply değişiklikleri doğrudan commit eder, pop commit etmez
  • apply tüm dallardaki stash kayıtlarını aynı anda siler
  • apply yalnızca takip edilmeyen yeni dosyaları geri yükler

Açıklama: git stash apply değişiklikleri çalışma alanına geri yüklerken kaydı yığında tutar; pop ise uyguladıktan sonra yığından temizler.

2 Stash kaydını yığından sil

Soru
git stash ____ stash@{0}
Cevap
git stash drop stash@{0}

Açıklama: git stash drop komutu, belirtilen stash kaydını yığından kalıcı olarak siler.

3 Geri yükleme ve silme

Kavram Anlamı
git stash pop Uygular ve kaydı yığından siler
git stash apply Uygular ama kaydı yığında tutar
git stash drop Belirtilen stash kaydını siler
git stash clear Tüm stash yığınını temizler

Orta seviye bölümündeki tüm dersler

20 Orta seviye finali

  1. Dal yönetimi
  2. Rebase
  3. Çatışma
  4. PR akışı