git reset 四个模式:soft、mixed、hard、keep区别

本地版本库暂存区工作区
soft回退保持保持所有
mixed回退回退保持所有
hard回退回退完全回退
keep回退保持保持另外的修改,仅回退提交的代码
  1. git reset --soft 仅将本地版本库回退到指定版本,缓存区和工作区不做改变
  2. git reset --mixed 将版本库回退的同时,将缓存区也清空,但工作区不做变更
  3. git reset --hard 将三个区域同时退回
  4. git reset --keep 将版本库回退的同时,将缓存区也清空,工作区中文件如果当前版本和退回版本之间没有发生过变动,则工作区的修改保持不便;如果发生了变动,并且工作区也进行了修改,需要自行合并(或者冲突解决)

keep介绍

首先这里创建了两个文件a.txt 和 b.txt

在这里插入图片描述

在a.txt变更2中仅修改了a.txt;b.txt没有变更
然后将b修改后,进行了add操作,提交到了暂存区:使用git status可以看到暂存区记录了b.txt的修改

在这里插入图片描述

现在我们再分别将a、b文件进行修改
如果直接使用git reset --keep进行回退会发现报错,因为上一个版本修改了a文件,并且我们工作区也对a进行了修改,这时git不允许回退。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值