Git回滚

1、还原一个提交可以用git checkout

  checkout  的功能很多,不仅仅是切换分支,其中一个功能就是 [将当前目录中的文件还原到一个特定的版本] 。

  git checkout [commit-id]

  git checkout 加上参数 [提交的 ID] 就可以了。

  其中 [提交的 ID] 可用 git log 查看。上一节我们做了一个提交:  

  

  黄色的一长串就是提交ID。

  现在我们基于这个提交,对 a.txt 做一些修改。然后再用 git status 观察当前版本库的状态。  

    

  git status 提示 a.txt 的状态是 modified的,也是就是较于上一个提交,发生的修改。

  git status 还提示了这样一行:use "git checkout -- <file>..." to discard changes in working directory

  接下来我们就可以按这个提示用git checkout撤销这个修改,还原到上一个提交。

  git checkout -- a.txt

  

  还原操作成功。

  最后用一张图做这一节做一个小结:

  

 2、git revert <commit>

  撤销指定的提交,commit是指版本号

  比如我们想要下面绿框所选的版本,就需要把上面的版本给撤销掉

  

   就需要 git revert 57fcbad241

  但是撤销的这个历史会被记录下来,相当于用新的版本覆盖老的版本

  

 3、git reset --hard HEAD

  这种方法撤销的时候也会把远程的历史记录给撤销掉

  比如要回退到这个版本

  

   git reset --hard 57fcbad241

   但是这样会报错,因为有冲突

  可以强制推送,在git push 后面加上 --force

______________________________________

参考文章:https://blog.csdn.net/wuzhong8809/article/details/84998791

原文地址:https://www.cnblogs.com/oaoa/p/14805203.html