Seperti yang disebutkan oleh @bentolo, Anda dapat secara manual menghapus file yang dikeluhkan, berpindah cabang, dan kemudian menambahkannya kembali secara manual. Tapi saya pribadi lebih suka tinggal "dalam git".
Cara terbaik untuk melakukannya adalah dengan mengubah simpanan menjadi cabang. Setelah itu adalah sebuah cabang, Anda dapat bekerja secara normal di git menggunakan teknik / alat yang berhubungan dengan cabang yang Anda kenal dan sukai. Ini sebenarnya adalah teknik umum yang berguna untuk bekerja dengan simpanan bahkan ketika Anda tidak memiliki kesalahan yang terdaftar. Ini bekerja dengan baik karena simpanan benar-benar komit di bawah selimut (lihat PS).
Mengonversi simpanan menjadi cabang
Berikut ini membuat cabang berdasarkan HEAD saat simpanan dibuat dan kemudian menerapkan simpanan (tidak mengikatnya).
git stash branch STASHBRANCH
Bekerja dengan "cabang simpanan"
Apa yang Anda lakukan selanjutnya bergantung pada hubungan antara simpanan dan di mana cabang target Anda (yang akan saya sebut ORIGINALBRANCH) sekarang.
Opsi 1 - Rebase stash branch secara normal (banyak perubahan sejak simpanan)
Jika Anda telah melakukan banyak perubahan di ORIGINALBRANCH, mungkin sebaiknya Anda memperlakukan STASHBRANCH seperti cabang lokal lainnya. Komit perubahan Anda di STASHBRANCH, rebase ulang di ORIGINALBRANCH, lalu alihkan ke ORIGINALBRANCH dan rebase / gabungkan perubahan STASHBRANCH di atasnya. Jika ada konflik maka tangani dengan normal (salah satu keuntungan dari pendekatan ini adalah Anda dapat melihat dan menyelesaikan konflik).
Opsi 2 - Setel ulang cabang asli agar sesuai dengan simpanan (perubahan terbatas sejak simpanan)
Jika Anda hanya menyimpan sambil menyimpan beberapa perubahan bertahap, lalu berkomitmen, dan yang ingin Anda lakukan hanyalah mendapatkan perubahan tambahan yang tidak dipentaskan saat Anda menyimpannya, Anda dapat melakukan hal berikut. Ini akan beralih kembali ke cabang dan indeks asli Anda tanpa mengubah copy pekerjaan Anda. Hasil akhirnya akan menjadi perubahan simpanan tambahan dalam copy pekerjaan Anda.
git symbolic-ref HEAD refs/heads/ORIGINALBRANCH
git reset
Latar Belakang
Stash adalah komit seperti cabang / tag (bukan tambalan)
PS, Sangat menggoda untuk memikirkan simpanan sebagai tambalan (seperti tergoda untuk menganggap komit sebagai tambalan), tetapi simpanan sebenarnya adalah komit terhadap HEAD ketika dibuat. Saat Anda menerapkan / pop Anda melakukan sesuatu yang mirip dengan memetik ceri ke cabang Anda saat ini. Ingatlah bahwa cabang dan tag sebenarnya hanya referensi untuk komit, jadi dalam banyak hal simpanan, cabang, dan tag hanyalah cara berbeda untuk menunjuk komit (dan riwayatnya).
Terkadang dibutuhkan bahkan saat Anda belum membuat perubahan direktori kerja
PPS, Anda mungkin memerlukan teknik ini setelah menggunakan simpanan dengan --patch dan / atau --include-untracked. Bahkan tanpa mengubah direktori kerja, opsi-opsi itu terkadang dapat membuat simpanan yang tidak bisa Anda terapkan kembali begitu saja. Saya harus mengakui tidak sepenuhnya mengerti mengapa. Lihat http://git.661346.n2.nabble.com/stash-refuses-to-pop-td7453780.html untuk beberapa diskusi.