Git reset 中四大模式:soft、mixed、hard、keep 的区别
Git reset 中四大模式:soft、mixed、hard、keep 的区别
目录
工作区 | 暂存区 | 本地版本库 | |
---|---|---|---|
soft |
保持所有 | 保持 | 回退 |
mixed | 保持所有 | 回退 | 回退 |
hard | 保持 Untracked 文件(红色), 回退提交(黑色或蓝色)和暂存区(绿色)中的文件或代码 |
回退 | 回退 |
keep | 保持 Untracked 文件和暂存区文件,仅回退提交的文件或代码 | 保持 | 回退 |
git reset --soft(常用)
🔎 仅将本地版本库回退到指定版本,并将该指定版本之后的文件或代码回到暂存区中去。
⚠️ 原暂存区和工作区文件或代码保持原状态,不会丢失文件或代码。
回退前:
.
回退后:
.
git reset --mixed(默认)
🔎 将本地版本库回退到指定版本,并将该指定版本之后的文件或代码回到工作区中去,也将暂存区中的文件或代码回到工作区中。
⚠️ 工作区保持原状态,不会丢失文件或代码。
回退前:
.
回退后:
.
git reset --hard(慎用)
🔎 回退后,本地代码就是你回退版本的代码(彻底回退,所有改变的内容都不见了,慎用!)
回退前:
.
回退后:
.
git reset --keep(吃灰)
🔎 将本地版本库回退的同时,将暂存区也清空,工作区中文件如果当前版本和退回版本之间没有发生过变动,则工作区的修改保持不便;如果发生了变动,并且工作区也进行了修改,需要自行合并(或者冲突解决)
回退前:
.
回退后:
.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战