git cherry-pick ve git stash ne işe yarar? Hangi durumlarda kullanılır?
Cevap
git cherry-pick
Başka bir daldaki belirli bir commit'i mevcut dala kopyalar (yeni hash ile yeni commit oluşturur).
git checkout release/2.3
git cherry-pick a1b2c3d # tek commit
git cherry-pick a1b2c3d^..f6e5d4c # aralık
git cherry-pick -x a1b2c3d # mesaja kaynak commit notu eklerTipik kullanım: main'de yapılan bir hata düzeltmesini tüm dalı birleştirmeden eski sürüm dalına almak (backport). Dikkat: aynı değişiklik iki farklı commit olarak var olur; sık kullanım dallar arası takibi zorlaştırır.
git stash
Commit'lenmemiş değişiklikleri geçici olarak bir yığına kaldırıp çalışma dizinini temizler.
git stash push -m "yarim form" # kaydet
git stash -u # takip edilmeyen dosyaları da dahil et
git stash list # stash@{0}: On main: yarim form
git stash pop # uygula ve listeden sil
git stash apply stash@{1} # uygula, listede tut
git stash drop stash@{1}Tipik kullanım: yarım iş varken acil bir hata için dal değiştirmek, ya da git pull öncesi yerel değişiklikleri kenara almak.
Stash uzun süreli saklama yeri değildir; unutulur ve kaybolur. Uzun sürecek işler için WIP commit'li bir dal daha güvenlidir.
İlgili Git soruları
- git merge ile git rebase arasındaki fark nedir?
- git reset ile git revert arasındaki fark nedir?
- İyi bir code review nasıl yapılır? .gitignore'a neler eklenmelidir?
- Interactive rebase ile commit'leri nasıl düzenler ve squash edersiniz?
- Merge conflict nedir ve nasıl çözülür?
- GitFlow ile trunk-based development arasındaki fark nedir?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.