1、hard
①移动本地库HEAD指针
②重置暂存区
③重置工作区
意思就是,回滚后,本地代码就是你回退版本的代码(彻底回退,所有改动的内容都不见了,慎用!)
2、soft
①移动本地库HEAD指针
意思就是,回滚后,仅仅是把本地库的指针移动了,暂存区和你本地的代码是没有做任何的改变。而你上次改动已提交committed到本地库的代码显示是绿色即未提交的状态(一般都用这个)
3、mixed
①移动本地库HEAD指针
②重置暂存区
意思就是,回滚后,不仅移动了本地库的指针,同时暂存区的东西也没了,意思就是你上次添加到暂存区的文件没了
4.keep
①移动本地库HEAD指针
②暂存区不变
③重置工作区
意思就是,回滚后,本地代码就是你回退版本的代码,而暂存区是没有做任何改变的
换句话说就是:本地代码是当前回退的版本代码(类似于hard操作),但是还没有提交的更改内容依旧还在(跟hard操作的区别)