记录 IDEA git 代码已经commit,但未git push,如何撤销操作

记录自己提交代码时,手滑错误commit了多余的文件,但未push到云端,想要撤回整个commit的操作:

idea菜单栏上的 VCS–>Git–>Reset HEAD…
点击idea中"Reset HEAD..."

出现如下弹框:
在这里插入图片描述
此时按照图中选择回退的方式,以及回退到哪个版本,点击“Reset”即可,在"Version Control" 中 “log” 里,最新一次提交的记录消失即回退成功。

 
 
 

题外扩展

其中:Reset Type
(1)、Mixed是默认方式。只保留源码,会回退 commit 和 index 的信息;
(2)、Soft 回退到某个版本。只回退了 commit 的信息,之前写的代码还是保留的,不会恢复到 index file 一级。如果还要提交,直接 commit;
(3)、Hard 彻底回退,本地源码也会变成上一个版本内容,不保留之前 commit 的代码。

打个比方:
版本一:增加文件a.txt,并写下内容 “版本一
版本二:修改文件a.txt,并增加内容,写下 “版本二

在版本二的基础上,增加了b.txt文件,并添加内容“版本三”(并git add),然后commit;

一、用Mix方式回到版本一:
增加的b.txt文件则会变成红色的状态(未git add的状态),表示此文件不被git版本追踪控制

二、用Soft 方式回到版本一:
增加的b.txt文件则会变成绿色的状态(git add的状态),表示此文件被git版本追踪控制了

三、用Hard方式回到版本一:
版本二以及版本三的内容全部消失,只剩下版本一的内容

Mix方式或者Soft方式 都可以撤销commit操作,同时自己做修改过的代码重置为未commit的状态,再次重新commit即可。

注:HEAD~ 和 HEAD^ 都可,HEAD~1 即撤销最新一次的本地提交;HEAD~HEAD~1 是一个意思。HEAD~~ 和 HEAD^^ 都是指次次新版本,也就是倒数第三个版本,以此类推,数字同理。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值