Güncelleme 2:
İnsanların bu cevaptan neden şikayet ettiklerinden emin değilim, benimle mükemmel çalışıyor gibi görünüyor, izlenmemiş dosyalar için -u
bayrağı ekleyebilirsiniz.
Tam komut, git stash --keep-index -u
Ve işte git-stash
yardımdan bir parça
--Keep-index seçeneği kullanılırsa, dizine önceden eklenmiş tüm değişiklikler olduğu gibi bırakılır.
--İnclude-untracked seçeneği kullanılırsa, izlenmeyen tüm dosyalar da saklanır ve ardından git clean ile temizlenir ve çalışma dizini çok temiz bir durumda kalır. Bunun yerine --all seçeneği kullanılırsa, izlenmeyen dosyalara ek olarak yok sayılan dosyalar saklanır ve temizlenir.
Ve bu nasıl göründüğünü gösteren bir gif:
Güncelleme:
Seçilen cevap bu olsa da, birçok kişi [aşağıdaki cevabın] (https://stackoverflow.com/a/34681302/292408) doğru cevap olduğuna işaret etti, kontrol etmenizi öneririm.
Cevabımı bugün (31/1/2020) git sürümüne karşı tekrar test ettim 2.24.0
ve hala doğru olduğuna inanıyorum, yukarıda izlenmeyen dosyalar hakkında küçük bir not ekledim. Çalışmadığını düşünüyorsanız, lütfen git sürümünüzü de belirtin.
Eski cevap :
Eğer --keep-index
seçenek kullanıldığında, zaten dizinine eklenecek tüm değişiklikler bozulmadan kalır:
git stash --keep-index
Gönderen belgelenmesigit-stash
:
Kısmi kaydetmeleri test etme
Sen kullanabilirsiniz git stash save --keep-index
Eğer iş ağacındaki değişiklikler dışında iki veya daha fazla kaydedilmesini yapmak istediğinizde ve taahhütte bulunmadan önce her bir değişikliği test etmek istiyorum:
# ... hack hack hack ...
$ git add --patch foo # add just first part to the index
$ git stash save --keep-index # save all other changes to the stash
$ edit/build/test first part
$ git commit -m 'First part' # commit fully tested change
$ git stash pop # prepare to work on all other changes
# ... repeat above five steps until one commit remains ...
$ edit/build/test remaining parts
$ git commit foo -m 'Remaining parts'
Ancak, yalnızca aşamalı değişiklikleri görsel olarak kontrol etmek istiyorsanız, deneyebilirsiniz difftool
:
git difftool --cached
-k
isteğe bağlı) ya da kullanımı zahmetlidir.