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

相关推荐
s1kSec19 分钟前
天翼云openclaw钉钉配置解决,解决404、401报错
运维·服务器
星马梦缘5 小时前
数据库作战记录1
数据库·sql·mysql
以太浮标6 小时前
华为eNSP模拟器综合实验之- ACL控制列表核心命令全解析及场景应用
运维·网络·网络协议·华为·信息与通信
巨斧空间掌门6 小时前
JDK17 下载 windows Linux
linux·运维·服务器
小挪号底迪滴7 小时前
Docker容器化实战:从“在我机器上能跑“到环境一致性
运维·docker·容器
短剑重铸之日7 小时前
《ShardingSphere解读》07 读写分离:如何集成分库分表+数据库主从架构?
java·数据库·后端·架构·shardingsphere·分库分表
njidf7 小时前
用Python制作一个文字冒险游戏
jvm·数据库·python
江畔何人初7 小时前
kube-apiserver、kube-proxy、Calico 关系
运维·服务器·网络·云原生·kubernetes
鸡蛋灌Bean7 小时前
MySQL优化系列
数据库·mysql
数巨小码人8 小时前
平滑迁移:传统到国产数据库的2026转型之路
数据库