git 回滚/撤回提交代码、误删、误提交恢复

git回滚找回代码

上情况

  • 情况1

    git pull的时候发生冲突,修改失误,并commit了,怎么恢复?

    • 查看所有的commit提交日志,并获取提交id

      • git log

        commit 09920462c56027fxxxxxxxxxxxxxxxxx (HEAD -> danxiao-revision, origin/danxiao-revision)
        Author: xxxxx
        Date:   xxxx
        
            第一次提交
        
        commit xxxxxx
        Merge: xxxx
        Author: xxxx
        Date:   xxxxx
            第二次提交
        
      • 此时我需要回滚/撤回到第一次提交

        • git reset --hard 09920462c56027fxxxxxxxxxxxxxxxxx(id)

          注意:此时代码会回滚到你的本地,并删除此次提交记录

          然后重新提交等操作

  • 情况2

    如果是操作失误,并回滚错误的编号,而且代码没有回滚到本地,并git log 找不到commit 历史

    • 查询回滚记录

      • git reflog

        xxxx HEAD@{1}: xxxx
        xxxx(id) HEAD@{2}: commit: 回滚
        
        
      • 此时我需要回滚之前的错误操作

        • git reset --hard xxxx(id)
  • 情况3

    git 日志中啥都找不到了

    • 如果工具中有 history的快照,回滚需要那一步
    • 如果没有这个功能,只能使出绝招了
  • 绝招

    • 重写
上一篇:Git操作命令


下一篇:git误删除了本地和远程开发分支,恢复远程分支和本地分支