Bagaimana saya bisa menghapus semua simpanan Git saya sekaligus?
Secara khusus yang saya maksud, dengan mengetikkan satu perintah.
Bagaimana saya bisa menghapus semua simpanan Git saya sekaligus?
Secara khusus yang saya maksud, dengan mengetikkan satu perintah.
Jawaban:
Perintah berikut menghapus semua simpanan Anda:
git stash clear
Dari dokumentasi git :
clear
Hapus semua status simpanan.
PERINGATAN PENTING: Negara-negara tersebut kemudian akan dikenakan pemangkasan, dan mungkin mustahil untuk dipulihkan (...).
stash drop
(" Hapus keadaan tersimpan tunggal dari daftar simpanan Bila tidak ada <simpanan> diberikan, menghilangkan yang terbaru (...).. ') tidak menjawab pertanyaan (' Bagaimana saya dapat menghapus semua dari Git saya disimpan sekaligus? ")?
git stash clear
, untuk mengkonfirmasi jika semua sudah jelas, gunakan -git stash list
git
praktis tidak mungkin ditemukan! git-scm.com/docs/git-stash
git help <command>
adalah cara terbaik untuk mendapatkan dokumentasi (dan, sebenarnya cukup bagus). Dalam hal ini, git help stash
jelas tunjukkan bahwa git stash clear
apakah perbuatan itu (ini tidak menghentikan saya untuk datang ke SO terlebih dahulu dan mengangkat jawabannya ... tetapi itu memberi tahu Anda lebih banyak tentang saya daripada git
: D)
Ada dua cara untuk menghapus simpanan:
$ git stash drop <stash_id>
.$ git stash clear
.Gunakan keduanya dengan hati-hati, mungkin sulit untuk mengembalikan simpanan yang pernah dihapus.
Inilah artikel referensi .
perintah ini memungkinkan Anda untuk melihat semua perubahan simpanan.
git stash list
Ini adalah perintah berikut untuk menggunakannya untuk menghapus semua Perubahan yang Anda simpan
git stash clear
Sekarang jika Anda ingin menghapus salah satu perubahan simpanan dari area simpanan
git stash drop stash@{index} // here index will be shown after getting stash list.
Catatan:
git stash list
memungkinkan Anda untuk mendapatkan indeks dari area simpanan git.
git stash drop 'stash@{index}'
, dengan tanda kutip.
Saya ingin menyimpan beberapa simpanan baru-baru ini, tetapi menghapus yang lainnya.
Karena semua simpanan dinomori ulang ketika Anda menjatuhkan satu, ini sebenarnya mudah dilakukan dengan sementara. Untuk menghapus semua simpanan yang lebih lama dari simpanan @ {19}:
while git stash drop 'stash@{20}'; do true; done
git stash pop 3
? Saya ingin tahu apakah kita bisa menggunakan while
loop dan drop stash menggunakan nilai indeks.
Saya mempunyai persyaratan lain seperti hanya beberapa simpanan yang harus dihapus, kode di bawah ini akan sangat membantu dalam hal ini.
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/ * akan menghapus indeks dari 5 hingga 8 * /
for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
for i in `seq 4`; do git stash drop 'stash@{5}'; done
do
jika Anda ingin menghapus simpanan terbaru atau pada indeks tertentu -
git menyimpan drop type_your_index
> git stash list
stash@{0}: abc
stash@{1}: xyz
stash@{1}: pqr
> git stash drop 0
Dropped refs/stash@{0}
> git stash list
stash@{0}: xyz
stash@{1}: pqr
jika Anda ingin menghapus semua simpanan sekaligus -
> git stash clear
>
> git stash list
>
Peringatan : Setelah selesai, Anda tidak dapat mengembalikan simpanan Anda
Untuk menghapus semua simpanan yang lebih dari 40 hari, gunakan:
git reflog expire --expire-unreachable=40.days refs/stash
Tambahkan --dry-run
untuk melihat simpanan mana yang dihapus.
Lihat https://stackoverflow.com/a/44829516/946850 untuk penjelasan dan lebih banyak detail.