Membatalkan git simpanan

337

Saya baru saja melakukan simpanan dalam proyek yang belum saya lakukan. Apakah ada cara untuk kembali ke negara bagian sebelum saya menyembunyikannya? Bagaimana saya bisa melakukan ini? Saya sudah menutup terminal dan laptop saya mati. Saya telah melakukan riset dan sepertinya tidak ada cara untuk melakukan ini.

adit
sumber
Posting terkait di sini .
RBT

Jawaban:

653

Anda bisa menjalankan:

git stash pop

dan itu akan melepaskan perubahan Anda.

Jika Anda ingin mempertahankan status file (dipentaskan vs. berfungsi), gunakan

git stash apply --index
ziad-saab
sumber
10
Ya tidak cukup. Ini tidak akan mengatur ulang apa yang ada di direktori pementasan, jadi Anda harus mengatur ulang semua itu (yang dapat mengganggu jika Anda baru saja melakukan git add -p yang kompleks
Nick
Tidak bekerja untuk saya. Saya mendapat error: mymodule/MyClass.java: needs merge - unable to refresh index. Menghindari penggabungan manual adalah tujuan saya saat menggunakan git stash pop...
TanguyP
Menyelamatkan hidupku. Saya pikir semua perubahan saya sudah hilang & perlu semua hal lagi. Terima kasih
Ankit Shah
@ TeruyP jadi apa solusi Anda pada akhirnya?
theonlygusti
119

git stash list untuk membuat daftar perubahan simpanan Anda.

git stash showuntuk melihat apa yang nada di perintah di bawah ini.

git stash apply untuk menerapkan simpanan terbaru.

git stash apply stash@{n} untuk menerapkan simpanan lama.

http://git-scm.com/book/en/Git-Tools-Stashing

OmnipotentEntity
sumber
1
juga "git stash show" setelah "git stash list" hanya untuk melengkapi jawaban yang sangat bagus ini dan lebih baik mengidentifikasi apa yang harus diganti dengan n. Ternyata saya memiliki barang simpanan dari file yang tidak ada lagi!
JimLohse
15

Ini juga akan mengembalikan direktori pementasan:

git stash apply --index
wisbucky
sumber