Am Freitag, 6. Juni 2008 23:19:49 schrieben Sie: > Dennis Schridde wrote: > > I just ran into a lost stash again and thus would like to get an answer > > to this question, which was forgotten last time: > > (lost-found is really growing in a pace it will take me very long to find > > my lost stash.) > > How did you lose it? > > If you did 'git stash drop' and then realized that you dropped the wrong > stash, you can apply that stash and then recreate it since 'stash drop' > also prints out the sha1 and 'stash apply' can use that. > > For example: > > # edit edit edit > $ git stash > # hmm I don't need that old stash anymore > $ git stash drop > Dropped refs/stash@{0} (5dcea62df980fa157e7755f82125dfc3bbd52ff5) > # whoops I didn't mean to drop _that_ stash > $ git stash apply 5dcea62df980fa157e7755f82125dfc3bbd52ff5 > $ git stash > > Of course, that only works if you realize pretty quickly that you dropped > the wrong stash. Also realize my example was rather simplified and the > working directory may need to be prepped before reapplying the dropped > stash. It was indeed too late. (I assumed to have rerecorded the stash, but later realised that the new stash contained only parts of the changes.) I am now using this script: for commit in $(git fsck --full --lost-found | grep commit | awk '{print $3}') ; do git show ${commit} | head -n7 | \ grep "On ${branch}:" | grep "${message}" > /dev/null \ && git show ${commit} | head -n7 done Though that list grows pretty long, so I would like to cut down the output of fsck-lost-found after I am sure nothing worthy is "lost" anymore. --Dennis
Attachment:
signature.asc
Description: This is a digitally signed message part.