git stash
- Git kursu
- Orta seviye
- Ders 17/82
- 4 dk
git stash ile değişiklikleri geçici saklamayı öğrenirsin.
git stash ile çalışma alanını temizleme
Tamamlanmamış değişikliklerin varken başka bir dala geçmek veya acil bir hatayı düzeltmek gerektiğinde yarım kalan işleri commit etmek istemezsin. git stash komutu hem çalışma dizinindeki hem de sahnelenmiş değişiklikleri geçici bir depolama yığınına kaldırır. Çalışma dizinin böylece son commit'in (HEAD) temiz haline geri döner.
git status
git stashDaha sonra sakladığın bu değişiklikleri kaldığın yerden geliştirmeye devam etmek üzere geri alabilirsin.
Mesajlı stash ve takip edilmeyen dosyalar
Varsayılan olarak git stash yalnızca Git tarafından takip edilen (tracked) dosyalardaki değişiklikleri saklar. Takip edilmeyen yeni dosyaları da saklamak istersen -u bayrağını eklersin. Daha sonra hangi stash kaydında ne olduğunu hatırlamak için push -m ile özel açıklama ekleyebilirsin.
git stash -u
git stash push -m "giris formu gelistirmesi"Açıklayıcı mesajlar bırakmak, özellikle birden fazla stash kaydı biriktiğinde işini büyük ölçüde kolaylaştırır.
Uygulama Çalışma alanını stash ile temizle
app.py dosyasındaki tamamlanmamış değişiklikleri git stash -q ile sakla ve ardından cat app.py ile dosyanın ilk haline döndüğünü ekrana yazdır.
Başlangıç kodu
git init -q
git config user.name "Canan"
git config user.email "canan@example.com"
echo "surum 1" > app.py
git add app.py
git commit -qm "Ilk commit"
echo "surum 2 calismasi" >> app.py
# Degisiklikleri stash'e al ve dosya icerigini yazdirÖrnek çözüm
git init -q
git config user.name "Canan"
git config user.email "canan@example.com"
echo "surum 1" > app.py
git add app.py
git commit -qm "Ilk commit"
echo "surum 2 calismasi" >> app.py
git stash -q
cat app.pyBeklenen çıktı
surum 1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 git stash komutu çalıştırıldığında çalışma alanındaki kaydedilmemiş değişikliklere ne olur?
- Otomatik olarak depoya kalıcı bir commit olarak eklenir
- Geçici bir yığına kaldırılır ve çalışma alanı HEAD durumuna döner Doğru cevap
- Yalnızca yeni oluşturulmuş dosyalar çalışma alanından silinir
- Tamamen silinir ve bir daha geri getirilemez
Açıklama: git stash henüz commit edilmeye hazır olmayan değişiklikleri geçici bir yığına kaydeder ve çalışma alanını temizler.
2 Takip edilmeyen dosyaları da sakla
git stash ____
git stash -u
Açıklama: -u (ya da --include-untracked) seçeneği, Git'in takip etmediği yeni dosyaları da stash yığınına dahil eder.
3 Stash temelleri
| Kavram | Anlamı |
|---|---|
git stash |
Değişiklikleri geçici yığına alır |
-u |
Takip edilmeyen dosyaları da saklar |
git stash push -m |
Stash kaydına açıklama mesajı ekler |
Temiz çalışma alanı |
Değişiklikler saklanınca HEAD'e döner |