Saya memiliki 2 cabang: master | rancangan
Bekerja dalam desain saya melakukan simpanan dan beralih ke master, membuat beberapa penyesuaian. Beralih kembali ke desain dan melakukan stash apply
hanya untuk kehilangan semua perubahan saya di cabang desain.
Saya berharap semua pekerjaan saya dalam simpanan karena saya belum membersihkan atau menghapus ini.
Jika saya melakukan daftar simpanan saya mendapatkan 4 hasil:
stash@{0}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{1}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{2}: WIP on design: eb65635... Email Adjust
stash@{3}: WIP on design: eb65635... Email Adjust
Jika saya coba git stash apply f2c0c72
saya mendapat kesalahan:
fatal: Needed a single revision
f2c0c72: no valid stashed state found
Bagaimana saya bisa menerapkan simpanan tertentu?
git stash apply 0
(bukangit stash apply stash@{0}
). Lihat jawaban saya di sini .Jawaban:
Kunci ke simpanan sebenarnya adalah
stash@{n}
item di sebelah kiri. Jadi cobalah:(perhatikan bahwa dalam beberapa shell Anda perlu mengutip
"stash@{0}"
, seperti zsh, fish, dan powershell).Sejak versi 2.11, sangat mudah, Anda dapat menggunakan nomor N stack alih-alih menggunakan
stash@{n}
. Jadi sekarang alih-alih menggunakan:Anda dapat mengetik:
Untuk mendapatkan daftar simpanan:
Sebenarnya
stash@{0}
adalah revisi di git yang bisa Anda alihkan ke ... tetapigit stash apply ...
harus mencari tahu bagaimana DTRT untuk menerapkannya ke lokasi Anda saat ini.sumber
gitk stash@{0}
untuk menunjukkan perubahan yang Anda buat dalam simpanan tertentu.git stash apply "stash@{0}"
stash@{n}
adalah perintah yang paling canggung untuk mengetik. Apakah ada cara pintas untuk melakukan ini selain membuat alias atau fungsi Anda sendiri?git stash apply n
damaiUntuk menerapkan simpanan dan menghapusnya dari daftar simpanan, jalankan:
Untuk menerapkan simpanan dan menyimpannya di simpanan simpanan, jalankan:
sumber
git stash pop "stash@{n}"
git stash apply stash@"{n}"
git stash apply stash@`{n`}
(perhatikan backticks sebelum kawat gigi).Sejak versi 2.11, sangat mudah, Anda dapat menggunakan nomor N stack alih-alih mengatakan
"stash@{n}"
. Jadi sekarang alih-alih menggunakan:Anda dapat mengetik:
Misalnya, dalam daftar Anda:
Jika Anda ingin mendaftar,
stash@{1}
Anda dapat mengetik:Jika tidak, Anda dapat menggunakannya bahkan jika Anda memiliki beberapa perubahan dalam direktori Anda sejak 1.7.5.1, tetapi Anda harus yakin bahwa simpanan tidak akan menimpa perubahan direktori kerja Anda jika itu terjadi, Anda akan mendapatkan kesalahan:
Dalam versi sebelum 1.7.5.1, itu menolak untuk bekerja jika ada perubahan pada direktori kerja.
Catatan rilis Git:
sumber
Jika ada di mesin Windows dan di PowerShell, orang perlu mengutip argumen seperti:
... atau untuk menerapkan perubahan dan menghapus dari simpanan:
Kalau tidak, tanpa tanda kutip Anda mungkin mendapatkan kesalahan ini:
sumber
lalu pilih simpanan untuk diterapkan dan gunakan hanya nomor:
sumber
Daftar akan menampilkan semua item simpanan, misalnya: simpanan @ {0} :, simpanan @ {1}:, .., simpanan @ {n}:
Kemudian pilih angka n yang menunjukkan simpanan @ {n}:
sumber