Soft
The --soft
参数只告诉Git将其他的commit重置到HEAD,就仅此而已。index(暂存区)和working copy(本地)中的文件都不改变。如需重新提交,不再需要add,只需要重新commit
Mixed (default)
The --mixed
改变HEAD和index,指向那个你要reset到的commit上。而working copy(本地)文件不被改变,index(暂存区)中文件会回退。当然会显示工作目录下有修改,但没有缓存到index(暂存区)中。如需重新提交得先add,再commit
Hard
The --hard
HEAD & index & working copy同时改变到你要reset到的那个commit上。彻底回退到指定版本,这个参数很危险,执行了它,你的本地修改可能就丢失了。