reset的子参数HEAD 表示本地的最新版本, HEAD~1 表示上一个版本,HEAD~2 表示上上个版本 。。。。。。。
[--soft | --mixed | --hard]
这三个参数代表的意思:
1、--soft:不修改工作区未提交的内容,并且一次只执行一步;当前为commit状态,回退该commit之后则为add状态(如果要再次回退到修改状态则要使用--mixed)
2、--mixed: 不修改工作区的未提交内容,并且直接回退到修改的状态(默认参数,不写则默认使用mixed)
3、--hard:回退到指定的版本,之前所有提交的未提交的信息全部删除
一、当我们要取消某次的add状态或者某个文件的add状态
取消本次的所有add状态(回退到最近的一次commit):git reset HEAD
取消某个文件的add状态:git reset HEAD filename
二、能否回退commit里面的某个文件呢
只能使用mixed,但是回退commit的某个文件没什么意义所以不具体扩展。