git如何撤销commit(未push)

文章目录

  • 前言
  • [undo commit](#undo commit)
  • [reset current branch to here](#reset current branch to here)

Undo Commit,Revert Commit,Drop Commit的区别

是否删除对代码的修改 是否删除Commit记录 是否会新增Commit记录
Undo Commit 不会 未Push会,已Push不会 不会
Revert Commit 不会
Drop Commit 未Push会,已Push不会 不会

前言

某次在idea中执行commit后(未push), 发现提交代码错误了想撤回,此篇文章整理这种情况下如何撤回。

如下图:(commit提交了一次测试记录(未push),新增了Test.java文件)

undo commit

适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改不想提交本次记录了。这时可以进行Undo Commit,修改后再重新Commit。

如果已经进行了Push,线上的Commit记录还是会存在的

简单来说,就是撤销了你Commit的这个动作。详细解释下:

1、首先,对项目进行了代码修改,然后进行commit操作。

2、确认Commit之后(未进行push)

3、进行Undo Commit操作

右键要撤销的记录,选择undo commit

执行后和未Commit之前完全一样, 而且commit记录也没了

reset current branch to here

适用情况:已commit未push

右键错误记录的上一次记录,然后选择reset current branch to here,选择Mixed

撤销后会把commit记录删除掉,提交的文件进入到Unversioned Files目录中

  • Soft:回滚到指定版本,并保留所有更改,这些更改将被重新提交。使用这种模式,你可以撤销已经提交的更改,然后重新提交。
  • Mixed:回滚到指定版本,并保留所有更改,但是更改将不会被重新提交(文件进入到Unversioned Files中)。使用这种模式,你可以撤销已经提交的更改,并保留这些更改,以备后续修改和提交。
  • Hard:回滚到指定版本,并删除指定版本之后的所有更改。使用这种模式,你可以完全撤销指定版本之后的所有更改。
  • Keep:回滚到指定版本,但是保留指定版本之后的更改。使用这种模式,你可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。

keep和hard撤销后会把文件也删除掉,强烈建议不要使用或者慎用

相关推荐
j7~34 分钟前
【Git】《Git 系列指南(二):Git基本操作与 reset 三种模式》
运维·git·git安装·git基本操作·git配置·创建git仓库·git reset三种模式
多加点辣也没关系1 小时前
Git - 的安装与使用
大数据·git
帅次1 小时前
Git 常用命令汇总
git·软件工程·开发工具·版本控制·git教程·代码管理·git命令
陈皮波比茶1 小时前
git学习
git·学习
那年窗外下的雪.8 小时前
AIDC 学习日志|第 14 天|MAC Flapping 与 EVPN 多归属分层排障
网络·git·学习·macos·github·spine
FlyWIHTSKY9 小时前
本地文件夹转化为 Git 仓库,并推送到远程平台创建一个全新的仓库
git
必须会一定会9 小时前
AI 编程隐私保护清单:API Key、代码上传、Agent 权限与 Git 历史排查
人工智能·git·ai编程
云计算磊哥@12 小时前
运维开发宝典061-CICD_版本控制器git
运维·git·运维开发
晨枫阳12 小时前
.gitignore 文件的真正含义
git
yu俞娥宝12 小时前
VS Code Git工作树:解锁多分支并行开发高效体验
git