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.
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/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With