Git - удалить все тайники из списка git stash после определенного момента

У меня есть следующий список тайников (git stash list):

stash@{0}: WIP on foobar: baz qux
stash@{1}: WIP on worble: norf 
stash@{2}: On blazbliz: finishes blah 
stash@{3}: WIP on foobar: baz qux in progress
stash@{4}: WIP on wizzle: wuzzle 
stash@{5}: On wiggle: wiggle 
stash@{6}: On blah: yada 
stash@{7}: WIP on hello: started hello world 

Как мне сбросить все тайники после определенного момента? скажем, например, все тайники после stash@{2} так что я в конечном итоге

stash@{0}: WIP on foobar: baz qux
stash@{1}: WIP on worble: norf 
stash@{2}: On blazbliz: finishes blah

2 ответа

git stash drop используется, чтобы уронить тайник.

git stash drop удаляет верхний тайник - или ссылку на тайник, которая выглядит следующим образом: stash@{n} который n назначает, какой тайник уронить.

Следовательно, git stash drop stash@{1} уберет тайник на месте 1.

Таким образом, невозможно удалить список тайников.

Кроме того, все тайники хранятся в .git/logs/refs/stash, Каждая строка содержит 1 тайник в обратном порядке, в котором они были созданы. (Последний будет наверху)

Таким образом, чтобы удалить несколько тайников одновременно, откройте файл из вашего домашнего каталога проектов, удалите столько, сколько хотите, и сохраните его.

Краткий ответ: нет.
Вы хотите сбросить тайники 1, 2 и 3. Когда вы опускаете тайник № 1, тайники 2 и 3 становятся тайниками 1 и 2 соответственно. Когда вы сбрасываете новый тайник № 1, тайник № 2 (который изначально был № 3) становится тайником № 1. Поэтому, чтобы сбросить три тайника, начиная с № 1, просто бросьте тайник № 1 три раза.
- Торек

Другие вопросы по тегам