git reset
不带路径
一般分为 3 步,可以在任意一步停止。
- 移动 HEAD 指针 (如果用
--soft
,停止) - 把 HEAD 的内容复制到 Index 中 (除非用了
--hard
,否则停止) - 把 Index 内容复制到工作区
例子
初始状态
reset --soft HEAD~
reset --mixed HEAD~

git rest --hard HEAD~

带有路径
如果有路径,会跳过第一步,并把后面的操作范围限制在制定的文件中。
不指定 commit

指定commit

下起雨,也要勇敢前行