How can I delete all of my Git stashes at once?
Specifically I mean, with typing in one command.
The following command deletes all your stashes:
git stash clear
From the git documentation:
clear
Remove all the stashed states.
IMPORTANT WARNING: Those states will then be subject to pruning, and may be impossible to recover (...).
Answered 2023-09-20 20:58:25
stash drop
(" Remove a single stashed state from the stash list. When no <stash> is given, it removes the latest one. (...) ") does not answer the question (" How can I delete all of my Git stashes at once? ")? - anyone stash drop
removes a single stashed state. But stash clear
has this Note that those states will then be subject to pruning, and may be impossible to recover. And stash drop
doesn't have that text. So one can easily think that these commands don't do the same thing and have some big differece. - anyone git stash clear
, to confirm if all cleared, use - git stash list
- anyone git help <command>
is the best way to get documentation (and, it's actually pretty good). In this case, git help stash
clearly show that git stash clear
does the deed (this didn't stop me from coming to SO first and upvoting the answer... but that tells you more about me than git
:D ) - anyone This command enables you to look all stashed changes:
git stash list
Here is the following command use it to clear all of your stashed changes:
git stash clear
Now if you want to delete one of the stashed changes from stash area:
git stash drop stash@{index} # Index will be shown after getting stash list
Note: git stash list
enables you to get index from stash area of git.
Answered 2023-09-20 20:58:25
git stash drop 'stash@{index}'
, with apostrophes. - anyone There are two ways to delete a stash:
$ git stash drop <stash_id>
. $ git stash clear
.Use both of them with caution, it maybe is difficult to revert the once deleted stashes.
Here is the reference article.
Answered 2023-09-20 20:58:25
I wanted to keep a few recent stashes, but delete everything else.
Because all stashes get renumbered when you drop one, this is actually easy to do with while. To delete all stashes older than stash@{19}:
while git stash drop 'stash@{20}'; do true; done
Answered 2023-09-20 20:58:25
git stash pop 3
instead? I wanted to know if we can use the while
loop and drop stashes using index values. - anyone Clear all stashes at once
git stash clear
List all stashes
git stash list
delete specific stash
git stash drop stash@{index}
Answered 2023-09-20 20:58:25
To delete all stashes older than 40 days, use:
git reflog expire --expire-unreachable=40.days refs/stash
Add --dry-run
to see which stashes are deleted.
See https://stackoverflow.com/a/44829516/946850 for an explanation and much more detail.
Answered 2023-09-20 20:58:25
if you want to remove the latest stash or at any particular index -
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
if you want to remove all the stash at once -
> git stash clear
>
> git stash list
>
Warning : Once done you can not revert back your stash
Answered 2023-09-20 20:58:25
If you hit “git stash list” you will get the list of shashes.
Remove the stashes:
1)Delete only some selected stash, then run the below command:
git stash drop stash@{index}
2)Delete the complete list in one go, run the following command:
git stash clear
Answered 2023-09-20 20:58:25
I had another requirement like only few stash have to be removed, below code would be helpful in that case.
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/* will delete from 5 to 8 index*/
Answered 2023-09-20 20:58:25
for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
- anyone for i in `seq 4`; do git stash drop 'stash@{5}'; done
- anyone If you just want to clear the latest stash or even you created a stash with git stash create then you should simply use
git stash drop
but if you want to clear all the git stashes of the current git repository then you can use
git stash clear
WARNING: Those states will then be subject to pruning(knock off), and maybe impossible to recover
Answered 2023-09-20 20:58:25
If you are working with VSCode, the 1.64 (Jan. 2022) will include git stash clear
in its commands.
See issue 123375 and commit 302c41c:
"command": "git.stashDropAll",
Answered 2023-09-20 20:58:25
Clear all stash from the list:
git stash clear
Clear particular index from the list:
git stash drop index
Answered 2023-09-20 20:58:25