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 . 之前的状态,把所有的修改全放回工作区);

–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 删除所有更改

你可能感兴趣的:(git)