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 ekler

Tipik 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.

  1. git merge ile git rebase arasındaki fark nedir?OrtaGitFull Stack
  2. git reset ile git revert arasındaki fark nedir?OrtaGitFull Stack
  3. İyi bir code review nasıl yapılır? .gitignore'a neler eklenmelidir?KolayGitFull Stack
  4. Interactive rebase ile commit'leri nasıl düzenler ve squash edersiniz?ZorGitFull Stack
  5. Merge conflict nedir ve nasıl çözülür?KolayGitFull Stack
  6. GitFlow ile trunk-based development arasındaki fark nedir?OrtaGitFull Stack

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle