git reset
Git中一共有三个区:
版本库 - 暂存区 - 工作区
HEAD代表版本库,index代表暂存区,另外还有一个我们增删改代码的工作区。
所以官方解释翻译过来就是:
下面演示一下,假如做了三次提交,然后在最后一次提交的状态下向之前的历史内容reset:
--hard : 回退版本库,暂存区,工作区。(这个最好理解)
--mixed: 回退版本库,暂存区。(--mixed为git reset的默认参数,即当任何参数都不加的时候的参数)
(这所以会出现图片这样的显示,是因为 mixed选项恢复了 版本库 暂存区,所以提示本地文件修改的部分还没有被add 。需要先add再commit)
--soft: 回退版本库。(changes to be commited)
(之所以会出现这样的图片提示,是因为soft选项只恢复了 版本库, 没有恢复暂存区,当前暂存区仍然是最新这次提交的状态,即已经add过了,待commit)