如何一次性删除所有Git个藏匿栏?
具体来说,我的意思是,输入一个命令。
答案 0 :(得分:2052)
以下命令会删除所有藏匿处:
git stash clear
<强>
clear
强>删除所有隐藏状态。请注意,这些状态将会被修剪,并且可能无法恢复(...)。
答案 1 :(得分:13)
删除存储有两种方法:
$ git stash drop <stash_id>
。 $ git stash clear
。谨慎使用它们,可能很难恢复曾经删除过的藏匿处。
答案 2 :(得分:7)
此命令使您可以查看所有隐藏的更改。
git stash list
以下命令使用它清除所有隐藏的更改
git stash clear
现在,如果您要从存储区中删除其中一个隐藏的更改,则
git stash drop stash@{index} // here index will be shown after getting stash list.
注意:
git stash list
使您能够从git的存储区获取索引。
答案 3 :(得分:7)
我想保留一些近期藏匿处,但删除其他所有内容。
因为当您放下一个藏书柜时所有藏书柜都被重新编号,所以使用while实际上很容易做到。要删除所有早于stash @ {19}的存储,请执行以下操作:
while git stash drop 'stash@{20}'; do true; done
答案 4 :(得分:6)
如果要删除最新的存储空间或要删除任何特定索引-
git stash 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
如果您想一次删除所有存储卡-
> git stash clear
>
> git stash list
>
警告 :完成后,您将无法还原存储
答案 5 :(得分:4)
要删除所有超过40天的存储,请使用:
git reflog expire --expire-unreachable=40.days refs/stash
添加--dry-run
可以查看哪些存储区被删除。
有关说明和更多详细信息,请参见https://stackoverflow.com/a/44829516/946850。
答案 6 :(得分:0)
我还有另一个要求,例如只需要删除很少的存储,在这种情况下,以下代码会有所帮助。
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/ *将删除5到8个索引* /
答案 7 :(得分:0)
清除列表中的所有存储: git stash 清除
从列表中清除特定索引: git stash drop index
答案 8 :(得分:0)
如果您只想清除最新的存储或 即使你用 git stash create 创建了一个 stash 然后 你应该简单地使用
git stash drop
但是如果你想清除当前 git 存储库的所有 git stash 然后你可以使用
git stash clear
警告:这些状态将被修剪(敲除),并且可能无法恢复