繁体   English   中英

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

[英]How can I delete all of my Git stashes at once?

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

具体来说,我的意思是输入一个命令。

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

git stash clear

git 文档

clear

删除所有隐藏的状态。

重要警告:这些状态将受到修剪,并且可能无法恢复(...)。

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

  1. 如果您不再需要某个特定的 stash,您可以使用以下命令将其删除: $ git stash drop <stash_id>
  2. 您可以使用以下命令从$ git stash clear库中删除所有$ git stash clear$ git stash clear

谨慎使用它们,可能很难恢复曾经删除的存储。

这是参考文章

此命令使您能够查看所有隐藏的更改。

git stash list

这是以下命令,使用它来清除所有隐藏的更改

git stash clear

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

git stash drop stash@{index}   // here index will be shown after getting stash list.

注意: git stash list使您可以从 git 的 stash 区域获取索引。

我想保留一些最近的藏匿处,但删除其他所有内容。

因为当你放下一个时,所有的藏匿处都会重新编号,这实际上很容易做到。 要删除所有早于 stash@{19} 的 stash:

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

要删除超过 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
>

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

我还有另一个要求,比如只需要删除很少的藏匿处,在这种情况下,下面的代码会有所帮助。

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

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

一次清除所有藏匿处

    git stash clear

列出所有藏品

    git stash list

删除特定的藏匿处

    git stash drop stash@{index}

清除列表中的所有存储: git stash clear

从列表中清除特定索引: git stash drop index

如果您只想清除最新的存储,甚至您使用git stash create创建了一个存储,那么您应该简单地使用

git stash drop

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

git stash clear

警告:这些状态将受到修剪(敲除),并且可能无法恢复

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

请参阅问题 123375提交 302c41c

https://user-images.githubusercontent.com/26203420/117556727-437aa600-b06c-11eb-9db6-ed80896b12f6.png

 "command": "git.stashDropAll",

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM