如何一次删除所有Git存储?
具体来说,我的意思是输入一个命令。
删除存储有两种方法:
$ git stash drop <stash_id>
。$ git stash clear
。谨慎使用它们,可能很难恢复曾经删除的存储。
这是参考文章。
此命令使您能够查看所有隐藏的更改:
git stash list
这是以下命令,使用它来清除所有隐藏的更改:
git stash clear
现在,如果您想从存储区域中删除其中一项隐藏更改:
git stash drop stash@{index} # Index will be shown after getting stash list
注意:git stash list
使您能够从 git 的 stash 区域获取索引。
我想保留一些最近的藏匿处,但删除其他所有内容。
因为当你丢弃一个时,所有的 stash 都会重新编号,这实际上很容易用 while 完成。要删除所有早于 stash@{19} 的存储:
while git stash drop 'stash@{20}'; do true; done
一次清除所有藏匿处
git stash clear
列出所有存储
git stash list
删除特定的存储
git stash drop stash@{index}
要删除所有超过 40 天的存储,请使用:
git reflog expire --expire-unreachable=40.days refs/stash
添加--dry-run
以查看删除了哪些存储。
有关说明和更多详细信息,请参阅https://stackoverflow.com/a/44829516/946850 。
如果您想删除最新的存储或任何特定索引-
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
>
警告:一旦完成,您将无法恢复您的存储
如果您只想清除最新的存储,甚至您使用git stash create创建了一个存储,那么您应该简单地使用
git stash drop
但是如果你想清除当前 git 存储库的所有 git 存储,那么你可以使用
git stash clear
警告:这些状态将受到修剪(敲除),并且可能无法恢复
我有另一个要求,例如只需要删除少量存储,下面的代码在这种情况下会有所帮助。
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/* 将删除从 5 到 8 的索引*/
从列表中清除所有存储: git stash clear
从列表中清除特定索引: git stash drop index
如果您正在使用 VSCode,则 1.64(2022 年 1 月)将包含git stash clear
在其命令中。
请参阅问题 123375并提交 302c41c:
"command": "git.stashDropAll",