Undo a git reset
I just happened to muck around with a repository and “accidently” reset it to a previous commit. It looked as if I lost all my recent changes. But I found out that you can “undo” the operation, here is how:
Lets say you’ve reset your repository to specific commit in the past:$ git reset --hard b0f7f7e600b1add7d27cc6794c68ec332a8eb90eNow the latest commit is obviously b0f7f7e600b1add7d27cc6794c68ec332a8eb90e and all newer commits seem to be gone. You can figure out the SHA id of your previous HEAD with the reflog:
$ git reflog c8b2660 HEAD@{0}: commit (amend): Bla foobar 780cd51 HEAD@{1}: commit: updated HEAD ...Your previous HEAD should be among those entries in the reflog. Look for the ‘updated HEAD’ commit. In my example it’s HEAD@{1}. Pick the SHA of the commit you think was the previous HEAD and reset the repository again:
$ git reset --hard 780cd51References: