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

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


当前回答

有两种方法可以删除存储:

如果您不再需要特定的存储,可以使用以下命令删除它:$git stash drop<stash_id>。您可以使用:$git stash clear从回购中删除所有存储。

小心使用这两个文件,可能很难恢复删除的文件。

这是参考文章。

其他回答

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

git stash drop

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

git stash clear

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

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

因为当你丢弃一个时,所有的存储都会重新编号,这实际上很容易做到。要删除早于存储@{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
>

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

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

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

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

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

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

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

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