Am Freitag, 6. Juni 2008 23:19:49 schrieben Sie:
Show 27 quoted lines
> 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
doneThough 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