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