如何一次删除所有Git存放区?


Answers:


2458

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

git stash clear

git文档

clear

删除所有隐匿状态。

重要警告:然后将对这些状态进行修剪,并且可能无法恢复(...)。


13
为什么不把git stash drop掉?
user20358's

137
@ user20358:因为stash drop(” 从藏匿列表中删除一个藏匿状态,如果没有<藏匿>给定,它消除了最新一期(......)。 ‘)不回答这个问题(’ 我怎样才能删除所有的我的Git立刻藏起来了吗? ”)?
塔德克

11
除了已接受的答案中提到的- git stash clear,若要确认是否全部清除,请使用git stash list
--kamal

2
@ jedd.ahyoung这应该再有1,000个投票。的文档git几乎找不到!git-scm.com/docs/git-stash
Drenai

11
@Ryan:git help <command>是获取文档的最佳方法(而且,实际上还不错)。在这种情况下,请git help stash清楚表明您git stash clear的行为(这样做并没有阻止我先提出这样的建议并支持答案……但这比git:D 告诉您更多有关我的信息)
Marco Massenzio

46

有两种删除存储的方法:

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

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

这是参考文章


2
关闭终端与它无关。git不是守护进程;它仅在您调用时运行。不知道你关闭了终端。
DylanYoung

31

此命令使您可以查看所有隐藏的更改。

git stash list

下面的命令使用它清除所有已隐藏的更改

git stash clear

现在,如果要从存储区域中删除其中一个隐藏的更改

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

注意:git stash list使您能够从git的存储区获取索引。


值得一提的是,至少对于使用Windows 10的VSCode中的集成终端,它是git stash drop 'stash@{index}'带有撇号的。
OriolMiró

12

我想保留一些最近的存储,但是删除其他所有内容。

因为当您放下一个藏书柜时所有藏书柜都被重新编号,所以使用一会儿实际上很容易做到。要删除所有早于stash @ {19}的存储:

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

这是否适用于Git 2.11中引入的索引值,您可以在其中使用隐藏代码来引用隐藏列表中的第三个隐藏代码git stash pop 3?我想知道是否可以使用while循环并使用索引值删除存储区。
tom_mai78101 '19

我喜欢这个简单的解决方案,非常优雅!
dominic

3

我还有另一个要求,例如只需要删除少量存储,在这种情况下,下面的代码会有所帮助。

#!/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
克里斯·麦考恩

3
请注意,当您放下时,剩余的藏匿处会向上移动1个位置。因此,如果您要从5删除到8,则需要倒数或删除stash @ {5}四次。例如: for i in `seq 4`; do git stash drop 'stash@{5}'; done
翘曲

@ChrisMcCowan您的代码也丢失了do
steezeburger

3

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

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
>

警告:完成后,您将无法还原存储


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.