当前位置:   article > 正文

IDEA 回退GIT代码_idea回退git提交的代码

idea回退git提交的代码

IDEA 回退GIT代码

我们代码平时在IDEA开发完成后,提交代码到远程仓库的流程为:
在这里插入图片描述
我们在提交代码到远程仓库的时候难免会发生提交了错误代码,要回滚到上个版本的情景;根据上面的流程我整理了一下三个场景的解决方案。

1、idea中git回退已经add到git索引中的代码

右键选中项目,GIt->Repository->Reset Head
在这里插入图片描述
点击Reset(ResetType后面会补充解释)
在这里插入图片描述

2、idea中git回退已经commit到本地仓库的代码

commit到本地仓库的版本记录会在version controller的log中查看到,右键选中你要回退的那个版本,选择Undo Commit
=
点击ok
在这里插入图片描述
回退完成!
在version controller的Local Change中可以查看已经回退撤回的代码
在这里插入图片描述

3、idea中git回退已经push到远程仓库的代码

我在远程仓库中提交了两次代码,姑且称他们为版本2、版本1
在这里插入图片描述
把代码回退到版本1,并删除仓库的版本2代码和记录,步骤为:

  • a、把本地源码回退到版本1的状态
    粘贴版本1的Revision Number
    在这里插入图片描述
    打开Reset HEAD
    在这里插入图片描述
    把刚才复制的revision number粘贴到 “To Commit”处,点击Reset (ResetType文章末尾处介绍)
    在这里插入图片描述

  • b、删除远程仓库中版本2的代码
    打开version controller的log页面我们会发现版本2的代码并没有从远程仓库中删除!
    我们刚才所做的步骤仅仅是将本地源码回退到了版本1的状态(版本2的代码在Git索引、本地仓库都已经回退删除了,但本地源码还存在,这跟我们选的Reset Type:Mixed有关)
    在这里插入图片描述
    这个时候我们要把本地仓库目前的代码版本强制提交到远程仓库,在命令行运行: git push -f
    在这里插入图片描述
    再查看log,版本2代码已经从远程仓库删除
    在这里插入图片描述

补充:

Reset Head中三种Reset Type类型:

Mixed(默认):它回退到某个版本,本地会保留源码,回退commit和index信息,若要提交重新commit。

soft: 回退到某个版本,只回退了commit的信息,不会恢复到index file一级,若要提交重新commit。

Hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/394880
推荐阅读
相关标签
  

闽ICP备14008679号