当我们项目发布上线发现有问题,又无法立马解决,需要版本回退的时候,应该如何处理,选择revert
还是reset
。最怕版本回退有冲突,经历几次及测试以后,终于弄清楚他们之间的差别,下面就简单来说一下他们的使用方法及差别
reset
首先我们提交三次代码:
![git提交三次](https://img-blog.csdnimg.cn/20200416145034328.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhaV95YW54aWE=,size_16,color_FFFFFF,t_70)
页面代码如下:
![git三次提交内容](https://img-blog.csdnimg.cn/20200416145058364.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhaV95YW54aWE=,size_16,color_FFFFFF,t_70)
现在执行reset
命令,把代码回退到4/7第2次提交之前的状态,命令如下:
git reset --hard HEAD^
![reset命令](https://img-blog.csdnimg.cn/20200416145121308.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhaV95YW54aWE=,size_16,color_FFFFFF,t_70)
- 执行命令以后,我们发现上一次修改的内容已经丢失,我们再通过命令
git log --oneline
看一下提交的历史记录