Pembaruan 2:
Saya tidak yakin mengapa orang mengeluh tentang jawaban ini, tampaknya berfungsi dengan baik dengan saya, untuk file yang tidak ditangani Anda dapat menambahkan -u
bendera
Perintah lengkapnya menjadi git stash --keep-index -u
Dan inilah cuplikan dari git-stash
bantuan tersebut
Jika opsi --keep-index digunakan, semua perubahan yang sudah ditambahkan ke indeks dibiarkan utuh.
Jika opsi --include-untracked digunakan, semua file yang tidak terlacak juga disimpan dan kemudian dibersihkan dengan git clean, meninggalkan direktori kerja dalam keadaan yang sangat bersih. Jika opsi --all digunakan sebagai gantinya, maka file yang diabaikan akan disimpan dan dibersihkan selain file yang tidak terlacak.
Dan ini adalah gif tampilannya:
Memperbarui:
Meskipun ini adalah jawaban yang dipilih, banyak yang menunjukkan bahwa [jawaban di bawah] (https://stackoverflow.com/a/34681302/292408) adalah yang benar, saya sarankan untuk memeriksanya.
Saya menguji jawaban saya lagi hari ini (31/1/2020) terhadap versi git 2.24.0
, dan saya masih percaya bahwa itu benar, saya menambahkan catatan kecil di atas tentang file yang tidak terlacak. Jika menurut Anda itu tidak berfungsi, sebutkan juga versi git Anda.
Jawaban lama :
Jika --keep-index
opsi digunakan, semua perubahan yang sudah ditambahkan ke indeks dibiarkan utuh:
git stash --keep-index
Dari dokumentasigit-stash
:
Menguji komitmen parsial
Anda dapat menggunakan git stash save --keep-index
saat Anda ingin membuat dua atau lebih komit dari perubahan di pohon kerja, dan Anda ingin menguji setiap perubahan sebelum melakukan:
# ... 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'
Tetapi, jika Anda hanya ingin memeriksa perubahan bertahap secara visual saja, Anda dapat mencoba difftool
:
git difftool --cached
-k
opsi) atau tidak praktis untuk digunakan.