Git - 在某个点之后从git存储列表中删除所有存储

时间:2018-04-14 10:28:55

标签: 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

1 个答案:

答案 0 :(得分:3)

git stash drop用于删除存储。

git stash drop删除了顶部存储 - 或者一个隐藏的引用,它看起来像stash@{n},其中n提名哪个存储丢弃。

因此,git stash drop stash@{1}将删除位置1处的存储。

所以,不可能删除藏匿列表。

或者,所有藏匿存储在.git/logs/refs/stash。每行包含1个以与创建它们相反的顺序存储。 (最新的将在顶部)

因此,要立即删除多个存储,请从项目主目录中打开文件,删除任意数量的文件并保存。