git reset 失误恢复

在执行 git reset –hard HEAD^ 回退版本的时候退过头了,导致退回了初始版本,本地工作区文件丢失。最终使用以下方法恢复:

  • 查看本地仓库的所有历史操作

    1
    git reflog
  • 找到想恢复的之前的某一个版本

    上一步会输出类似下面的操作记录,最上方是最近操作,找到想要回退到的某个版本

    1
    2
    3
    4
    5
    6
    7
    192ea09 (HEAD -> main) HEAD@{0}: reset: moving to HEAD@{1}
    8adf4f7 (origin/main, origin/HEAD) HEAD@{1}: reset: moving to HEAD^ 192ea09 (HEAD -> main) HEAD@{2}: commit: update
    8adf4f7 (origin/main, origin/HEAD) HEAD@{3}: reset: moving to HEAD^ 5ac8501
    HEAD@{4}: commit: update
    8adf4f7 (origin/main, origin/HEAD) HEAD@{5}: reset: moving to HEAD^
    f3cb1aa HEAD@{6}: commit: update
    8adf4f7 (origin/main,origin/HEAD) HEAD@{7}: clone: from https://github.com/JustDoIt0910/code_snip.git
  • 回退

    1
    git reset --hard HEAD@{4}

p1