It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Retrieve a deleted stash

I deleted the stash while applying. And then by mistake reverted everything. How can I get it back? Please help.

6 answers

1 accepted

26 votes
Answer accepted

Unless you have a backup somewhere else, this is difficult. However stashes are stored as regular git objects and provided this was done recently then the commit object will still be there and not garbage collected yet, it just won't have any references to it.

You can list all unreachable commits , but you have to drop to the command line (click Terminal on the toolbar). Then type:

git fsck --unreachable

This will show you all the commits which are not reachable by a branch / tag and which haven't been garbage collected yet. Look for the ones that say 'unreachable commit', ignore the blobs. The chances are it will be the one closest the top, unless you've performed some other actions which created more unreachables. You can examine the commits by doing 'git show <sha>', and this should identify the stash, it'll probably be called 'On master: <your comment>' or similar. Once you've found it, copy the SHA.

To recover this you then do:

git stash apply &lt;sha&gt;

Which will bring it back into your working copy.

Going through each commit through the terminal is quite combersome. But atleast there is a solution. Thanks :)

Very helpful. Just used this to help out a co-worker. Thank you! :-)

Worked like a charm.. Thanks a lot saved my 4 hours of work.. :)

You sir, are my hero, thank you!

You make my day sir, thanks a lot

Day saver. Thank you so much.

Thank you!! Almost lost a day of work :) 

How to retrieve :

git fsck --no-reflog | awk '/dangling commit/ {print $3}' | xargs git show > dangles.txt

search and select the commit you want and do below
git stash apply dec98ac9eb98abf94f43beecdf07f9c17e678ce1;
Like # people like this

God bless u man, Thanks a lot 

Just saved my bacon, thank you.

This was a life-saver ! Thanks !

Thank you so much for this answer!
This just saved me from a lot of headache.

It took a while for me to find the right commit, but I found it in the end. :)

Thank you very much! You saved day of my work!

You Sir are a life saver.

Really Helpful. Thanks Alot.

@anirudh reddy you saved my life today with your solution!!!! thanks a million

Thanks! Helped me a lot!!!!!

Brilliant!  This outputs the details to a file so you can search for whatever you may have accidentally nuked. 

git fsck --no-reflog | awk '/dangling commit/ {print $3}' | xargs git show > dangles.txt

How to retrieve :

git fsck --no-reflog | awk '/dangling commit/ {print $3}' | xargs git show > dangles.txt

search and select the commit you want and do below
git stash apply dec98ac9eb98abf94f43beecdf07f9c17e678ce1;.



Like # people like this

Thank you for this so much!

Thanks a lot for this. Saved my day.

Thank you!

Thanks you for this! It saved my life!

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Sourcetree

Sourcetree for Windows - CVE-2019-11582 - Remote Code Execution vulnerability

A vulnerability has been published today in regards to Sourcetree for Windows.  The goal of this article is to give you a summary of information we have gathered from Atlassian Community as a st...

1,681 views 0 10
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you