Git 回退提交的错误

本地分支

在本地分支上进行回退操作,回退的内容分三部分,commit信息、index file(暂存区域)和源代码;

  1. 回退commit, index file, 本地源码

    1
    2
    3
    4
    5
    6
    # 回滚到哪次commit,根据commitid
    git reset --hard <commitid>
    # 回滚到最近的几次(n)
    git reset --hard HEAD~<n>
    # 回滚到和远程dev分支一样
    git reset --hard origin/dev
  2. 回退commit, index file, 保留本地源码;此为git默认方式

    1
    git reset --mixed <commitid>
  3. 回退commit信息,保留index file 和 本地源码

    1
    git reset --soft <commitid>

远程分支

  1. 删除远程分支上的最后一次提交

    1
    2
    git revert HEAD
    git push origin master