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的所有提交均可以使用强制提交更新到远程

相关推荐
少年攻城狮12 分钟前
Obsidian系列---【如何使用obsidian同步到git?】
git
问简20 分钟前
docker 镜像相关
运维·docker·容器
Dreamboat¿44 分钟前
SQL 注入漏洞
数据库·sql
Dream of maid1 小时前
Linux(下)
linux·运维·服务器
齐鲁大虾1 小时前
统信系统UOS常用命令集
linux·运维·服务器
Benszen1 小时前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…1 小时前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
曹牧2 小时前
Oracle数据库中,将JSON字符串转换为多行数据
数据库·oracle·json
被摘下的星星2 小时前
MySQL count()函数的用法
数据库·mysql
末央&2 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库