Git reset 中四大模式:soft、mixed、hard、keep 的区别

Git reset 中四大模式:soft、mixed、hard、keep 的区别


工作区 暂存区 本地版本库
soft 保持所有 保持 回退
mixed 保持所有 回退 回退
hard 保持 Untracked 文件(红色),
回退提交(黑色或蓝色)和暂存区(绿色)中的文件或代码
回退 回退
keep 保持 Untracked 文件和暂存区文件,仅回退提交的文件或代码 保持 回退

git reset --soft(常用

🔎 仅将本地版本库回退到指定版本,并将该指定版本之后的文件或代码回到暂存区中去

⚠️ 原暂存区和工作区文件或代码保持原状态,不会丢失文件或代码。


回退前:

image-20240417071901838.

回退后:

image-20240417080619286.



git reset --mixed(默认)

🔎 将本地版本库回退到指定版本,并将该指定版本之后的文件或代码回到工作区中去,也将暂存区中的文件或代码回到工作区中。

⚠️ 工作区保持原状态,不会丢失文件或代码。


回退前:

image-20240417071901838.

回退后:

image-20240417081554832.



git reset --hard(慎用)

🔎 回退后,本地代码就是你回退版本的代码(彻底回退,所有改变的内容都不见了,慎用


回退前:

image-20240417071901838.

回退后:

image-20240417082434758.



git reset --keep(吃灰)

🔎 将本地版本库回退的同时,将暂存区也清空,工作区中文件如果当前版本和退回版本之间没有发生过变动,则工作区的修改保持不便;如果发生了变动,并且工作区也进行了修改,需要自行合并(或者冲突解决)


回退前:

image-20240417071901838.

回退后:

image-20240417083633299.



参考

  1. git reset 四个模式:soft、mixed、hard、keep区别.
  2. 关于idea git中soft mixed hard keep的区别.
posted @ 2024-04-17 20:34  软柠柠吖  阅读(1231)  评论(0编辑  收藏  举报