How to recover after i execute :git reset

I made a terrible mistake and execute "git reset --hard HEAD", all day's the local modification lost, how can i recover it?

Thanks millions


If you didn't already commit your local changes (or at least stage them via git add , they're gone. git reset --hard is a destructive operation for uncommitted changes.

If you did happen to stage them, but didn't commit them, try git fsck --lost-found and then search through the contents of .git/lost-found - it will contain all of the objects that aren't referenced by a known commit, and may include versions of files that were staged.


You can use git reflog . It will show HEAD history. You can pick the hash that represents the HEAD status before the git reset --hard and use this hash in another git reset --hard .


First run:

git reflog

It will show history of your HEAD pointer. Then select sha-code of a necessary state from first column. I think it will be near HEAD@{1} if you made just git reset --hard once. And then

git merge SHA_CODE

Bingo!

More examples you can find here: http://www.programblings.com/2008/06/07/the-illustrated-guide-to-recovering-lost-commits-with-git/

链接地址: http://www.djcxy.com/p/23496.html

上一篇: 撤消git pull

下一篇: 执行后如何恢复:git reset