大致分为两步:
第一步,回滚本地代码;
第二步,回滚远程代码;
首先,我们先来回滚本地代码
按照下图的步骤,获取你要回滚的历史版本的版本号
获取版本号
然后项目根目录右键Git->Repository->Reset HEAD
Reset HEAD
image.png
Reset Type 有三种:
mixed 默认方式,只保留源码,回退commit和index信息;soft 回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit;hard 彻底回退,本地源码也会变成上一个版本内容;
此时我们选择Hard彻底回退,点击Reset就能将本地代码版本回滚到指定版本。
以上操作,已经可以回退到commit之前的代码版本了 。。。
然后我们开始将回滚的本地代码提交到远程仓库,此时有两种方式:
第一种,直接强制提交,使用git命令提交 git push -f,但是这样会把回滚版本之后的提交记录全部删除,因此不建议这样做。
第二种,用前面我们回滚本地的方式,再次回滚到最新版本。
首先,我们获取到远程分支最新版本的版本号
image.png
然后,我们再次Git->Repository->Reset HEAD 这次与之前有些不一样,我们Reset Type采用Mixed方式将源码保留,然后点击Reset。
选择Mixed方式
最后我们发现代码已经是旧版本的代码,并且版本还是最新版本,此时正常提交push后我们的本地和远程代码的回滚就完成了。
打开提交LOG,在提交日志上,右键:revert。
右键revert