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

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


当前回答

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

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 stash clear

从git文档中:

清楚的删除所有隐藏的状态。重要警告:这些状态将受到修剪,可能无法恢复(…)。

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

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

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

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

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
>

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

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

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

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