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

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


当前回答

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

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

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

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

其他回答

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

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

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

此命令允许您查看所有隐藏的更改:

git stash list

以下命令用于清除所有隐藏的更改:

git stash clear

现在,如果您想从隐藏区域删除隐藏的更改之一:

git stash drop stash@{index} # Index will be shown after getting stash list

注意:git存储列表允许您从git的存储区域获取索引。

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

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

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

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

git stash drop

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

git stash clear

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

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

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

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

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