Git 取消修改 and 回溯版本

参考廖雪峰老师的Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374831943254ee90db11b13d4ba9a73b9047f4fb968d000
1、撤销工作区的修改

$ git checkout --

或者
2、撤销暂存区的修改
$ git reset HEAD

3、撤销提交
$ git reset --hard

4、回溯一次
$ git reset HEAD~1

5、回溯一百次
$ git reset HEAD~100

reset 的默认参数是 --mixed
–mixed 不会放弃修改,全部(包括暂存区)回溯到工作区,更改还在;任你修改(执行add . 之前的状态,把所有的修改全放回工作区);
【Git 取消修改 and 回溯版本】–soft 不会放弃更改,会将数据返回到提交之前的暂存区,如仍想提交还可以使用commit 进行提交。(执行commit之前的状态);
–hard 是放弃所有更改,只要目标提交的数据状态(所有区域都是);
2019-03-15 10:15:20 添加 git reset
(1) 不是最新提交,
// 会回滚到这个 版本, 然后基于这个版本下操作:
–soft(add之前的操作,如果新增的撤销操作: rm, 如果修改的撤销操作: checkout – )
–mixed(default,add之后的状态,commit之前)
–hard(delete,全删, rm/checkout 之后的状态)
(2) 是最新提交
// 回滚到add之前的状态
–soft 不会改变
–mixed 回滚到add之前的状态
–hard 删除所有更改

    推荐阅读