Git的强软硬回退(三)

这篇是接着上文来的,小伙伴可以了解前两篇的内容

使用经验(一)

Git在idea中的实战使用经验(一)-CSDN博客

使用经验(二)

Git在idea中的实战使用经验(一)-CSDN博客

12.代码回退

12.1 使用Undo Commit(针对已经commit但未push的情况)

如果已经commit了代码,可以直接点击对应的历史记录,右键点击"Undo Commit"

12.2使用Reset(针对已Commit但未push的情况)

打开提交记录,选中要回退的版本右键,点击"Reset Curernt Branch to Here...."。

比如说会使用以下的实例进行提交

然后可以选择不同的回退模式:

12.2.1 Soft模式

回滚到指定的版本,并保留所有更改,这些更改将被重新提交。例如,如果想要撤销已经提交的更改,然后重新组织提交的内容事可以使用

12.2.2 Mixed模式

回退到指定版本,并保留所有更改,但是更改将不会被重新提交(Unversioned Files)中。这种模式适合撤销已经提交的更改,并保留这些更改,以备后续修改和提交。

与Soft最大的区别就是不再交给版本管理

12.2.3 Hard模式(慎用)

回滚到指定的版本,并删除指定版本之后的所有更改。这是一种比较彻底的回滚凡是,如果确定要完成撤销指定版本之后的所有更改可以使用

12.2.4 Keep模式:

回滚到指定版本,但是保留指定版本之后的更改。可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。与Hard的区别是暂存区保留,Hard是不会保留的

此时记住一定要选择强制推送,否则相当于没有回退,但是需要谨慎操作,并且需要确保团队成员知晓。reset的所有提交均可以使用强制提交更新到远程

相关推荐
A_Lonely_Cat43 分钟前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
SkyWalking中文站18 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ21 小时前
Kubeneters HA Cluster部署
运维
jiayou6421 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
江华森1 天前
NumPy 数值计算基础入门
运维
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
和你看星星2 天前
Git rerere:让重复冲突只解决一次
git
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba