项目中有时候,不知道bug出现在哪个软件版本,这个时候就需要用到代码回滚的操作——Reset
Reset介绍
本人还是喜欢带有图形界面的Git软件,如果你喜欢敲命令行的话请自行查阅
reset用来撤销提交、重置分支以及撤销暂存区的更改的重要命令之一
Soft
--soft: uncommit changes, changes are left staged (index).
取消提交更改,更改仍处于暂存状态(索引)。
使用**–soft**进行代码回溯,两节点间的已提交的更改,会放到暂存区中,并且当地修改的内容也不会收到影响
Mixed
--mixed (default): uncommit + unstage changes, changes are left in working tree.
取消提交 + 取消暂存更改,更改保留在工作树中。
使用**–mixed**进行代码回溯,两节点间的已提交的更改,不会放到暂存区中,当地修改的内容不会收到影响
Hard
--hard: uncommit + unstage + delete changes, nothing left.
取消提交 + 取消暂存 + 删除更改,什么也没有留下。
(图形界面)手残操作之——本地修改分支进行Reset
在你本地分支,修改后提交了节点,但没有提交到远程分支,之后你直接在该分支进行Reset操作,回退到之前的节点。
这时你就会傻眼了,图形界面的git软件中该分支,你修改的节点没有了!!! 完蛋
不要慌,这时候就要用终端敲git命令行了
git reflog
git reset --hard <节点ID(cd93cf3)>
使用Reset时的小建议
新创建一个本地分支,使用新创建的分支进行reset操作,这样就不会影响到你在分支上的修改了