IDEA Git版本回滚提交方式

以此文记录下在IDEA中如何回滚项目历史版本,并提交远程git

大体分为两步:工具

第一步,回滚本地代码;.net

第二步,回滚远程代码;命令行

 

首先,咱们先来回滚本地代码3d

按照下图的步骤,获取你要回滚的历史版本的版本号blog

而后项目根目录右键 Git->Repository->Reset HEAD get

Reset Type 有三种:源码

mixed 默认方式,只保留源码,回退commit和index信息
soft 回退到某个版本,只回退了commit的信息,不会恢复到index file一级。若是还要提交,直接commit
hard 完全回退,本地源码也会变成上一个版本内容it

此时咱们选择Hard完全回退,点击Reset就能将本地代码版本回滚到指定版本。io

 

而后咱们开始将回滚的本地代码提交到远程仓库,此时有两种方式:

第一种,直接强制提交,使用git命令提交 git push -f,可是这样会把回滚版本以后的提交记录所有删除,所以不建议这样作。

第二种,用前面咱们回滚本地的方式,再次回滚到最新版本。

首先,咱们获取到远程分支最新版本的版本号

而后,咱们再次Git->Repository->Reset HEAD 此次与以前有些不同,咱们Reset Type采用Mixed方式将源码保留,而后点击Reset。

最后咱们发现代码已是旧版本的代码,而且版本仍是最新版本,此时正常提交push后咱们的本地和远程代码的回滚就完成了。

 

参考:https://blog.csdn.net/gomeplus/article/details/78241070

 

上面的操做基于IDEA工具来进行操做,其底层原理为利用git的tag标签回滚

git tag操做参考:https://blog.csdn.net/fuchaosz/article/details/51698896

咱们只在此证实利用Git tag回滚操做与上面的IDEA操做的关系

首先,切换到IDEA的Terminal命令行(也能够是dos命令行,Git Bash命令行),执行下面的命令

注意tag详细信息里面的commit id

咱们在看看git的历史提交记录中上面tag提交的那次记录的Revision Number

Revision Number为 b8e7431ac80cc37d315362b7d2968d4940583820,不一样人的编号会不同,可是commit id 与 Revision Number必定是同样的

那么咱们以前IDEA操做的也都是经过这种原理来实现的。

相关文章
相关标签/搜索