本地版本库 | 暂存区 | 工作区 | |
---|---|---|---|
soft | 回退 | 保持 | 保持所有 |
mixed | 回退 | 回退 | 保持所有 |
hard | 回退 | 回退 | 完全回退 |
keep | 回退 | 保持 | 保持另外的修改,仅回退提交的代码 |
- git reset --soft 仅将本地版本库回退到指定版本,缓存区和工作区不做改变
- git reset --mixed 将版本库回退的同时,将缓存区也清空,但工作区不做变更
- git reset --hard 将三个区域同时退回
- 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不允许回退。文章来源:https://www.toymoban.com/news/detail-805384.html
文章来源地址https://www.toymoban.com/news/detail-805384.html
到了这里,关于git reset 四个模式:soft、mixed、hard、keep区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!