我如何一次删除所有Git存储?

我的意思是,输入一个命令。


以下命令将删除所有存储:

git stash clear

从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存储列表允许您从git的存储区域获取索引。


我有另一个要求,比如只需要删除一些隐藏内容,在这种情况下,下面的代码会很有用。

#!/bin/sh
for i in `seq 5 8`
do
   git stash drop stash@{$i}
done

/*将删除从5到8的索引*/


我想保留一些最近的收藏,但删除所有其他东西。

因为当你丢弃一个时,所有的存储都会重新编号,这实际上很容易做到。要删除早于存储@{19}的所有存储:

while git stash drop 'stash@{20}'; do true; done

如果您想删除最新的存储或任何特定索引-

git存储放置类型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
>

警告:一旦完成,您将无法恢复存储


要删除超过40天的所有存储,请使用:

git reflog expire --expire-unreachable=40.days refs/stash

添加--干运行以查看哪些存储被删除。

看见https://stackoverflow.com/a/44829516/946850了解更多详细信息。


清除列表中的所有隐藏内容:数字存储清除

从列表中清除特定索引:git存储下降指数


如果你只是想清除最新的藏匿处或甚至你用git stash create创建了一个stash你应该简单地使用

git stash drop

但是如果您想清除当前git存储库中的所有git存储那么你可以使用

git stash clear

警告:这些状态将被删除,可能无法恢复


立即清除所有存储

    git stash clear

列出所有存储

    git stash list

删除特定存储

    git stash drop stash@{index}

如果您正在使用VSCode,1.64(2022年1月)将在其命令中包含git stash clear。

参见问题123375和提交302c41c:

“命令”:“git.stachDropAll”,