本地版本库暂存区工作区
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不允许回退。

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐