【发布时间】:2012-07-07 08:03:40
【问题描述】:
如何一次删除我所有的 Git 存储?
我的意思是,输入一个命令。
【问题讨论】:
如何一次删除我所有的 Git 存储?
我的意思是,输入一个命令。
【问题讨论】:
【讨论】:
stash drop (" 从存储列表中删除单个隐藏状态。当没有给出 stash drop 删除单个隐藏状态。但是stash clear 有这个请注意,这些状态将受到修剪,并且可能无法恢复。而stash drop 没有该文本。所以人们很容易认为这些命令做的不是同一件事,而且有很大的不同。
git stash clear,要确认是否全部清除,请使用 - git stash list
git help <command> 是获取文档的最佳方式(而且,它实际上非常好)。在这种情况下,git help stash 清楚地表明git stash clear 做了这件事(这并没有阻止我首先来到 SO 并支持答案......但这比git 更能告诉你关于我的信息:D)
有两种删除存储的方法:
$ 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 的存储区获取索引。
【讨论】:
git stash drop 'stash@{index}',带有撇号。
我想保留一些最近的存储,但删除其他所有内容。
因为当你放下一个时,所有的存储都会重新编号,这实际上很容易用 while 来完成。删除所有早于 stash@{19} 的存储:
while git stash drop 'stash@{20}'; do true; done
【讨论】:
git stash pop 3 来引用存储列表中的第三个存储?我想知道我们是否可以使用while 循环并使用索引值删除存储。
一次性清空所有隐藏物品
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 创建了一个 stash 然后 你应该简单地使用
git stash drop
但是如果你想清除当前 git 仓库的所有 git stash 那么你可以使用
git stash clear
警告:这些状态将受到修剪(敲除),并且可能无法恢复
【讨论】:
我有另一个要求,例如只需要删除少量存储,下面的代码在这种情况下会有所帮助。
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/* 将删除从 5 到 8 的索引*/
【讨论】:
for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
for i in `seq 4`; do git stash drop 'stash@{5}'; done
清除列表中的所有存储: git stash clear
从列表中清除特定索引: git stash drop 索引
【讨论】:
如果您使用 VSCode,1.64(2022 年 1 月)将在其命令中包含 git stash clear。
"command": "git.stashDropAll",
【讨论】: