一、解决思路
在实际开发场景中,代码是基于主分支(master)发布到线上的。团队开发过程中,可能会有多个人的代码在主分支进行提交或者合并。那么在线上出现bug,需要做代码回滚时,如果别人没有最新的提交,那么我们可以用reset进行版本回退。否则,就可以考虑使用revert命令进行还原修改,不要影响别人的提交。
代码回滚的思路比较简单:
首先查看代码提交的日志,日志会展示已经提交的代码的各个版本,然后回滚到对应的版本即可。我们可以直接使用git命令来完成操作,也可以使用开发工具IDEA自身集成的Git可视化各个插件。
二、动手实践
使用git命令
(1)查看提交日志
首先,用gitreflog查看代码提交日志,如下图所示:
这里左侧是主要演示代码,右侧是对应的git操作,演示文本中的3行代码分别对应3次提交。
(2)代码回滚
假设上述的案例中,第3次也是最后一次提交有bug,那么我们想要回滚到第2次提交,该如何操作呢?有以下两种方案:
第一种方案
使用gitreset--hard