git reset

Git中一共有三个区:

版本库 - 暂存区 - 工作区

HEAD代表版本库,index代表暂存区,另外还有一个我们增删改代码的工作区。

所以官方解释翻译过来就是:

下面演示一下,假如做了三次提交,然后在最后一次提交的状态下向之前的历史内容reset:

--hard : 回退版本库,暂存区,工作区。(这个最好理解)

--mixed: 回退版本库,暂存区。(--mixed为git reset的默认参数,即当任何参数都不加的时候的参数)

(这所以会出现图片这样的显示,是因为 mixed选项恢复了 版本库 暂存区,所以提示本地文件修改的部分还没有被add 。需要先add再commit)

--soft: 回退版本库。(changes to be commited)

 

(之所以会出现这样的图片提示,是因为soft选项只恢复了 版本库, 没有恢复暂存区,当前暂存区仍然是最新这次提交的状态,即已经add过了,待commit)

原文地址:https://www.cnblogs.com/eret9616/p/10075595.html