在Git中进行版本回退需要使用git reset命令。
以前面文章中的事例为例,当我准备在V4版本,回退到V3版本的时候,分支中的提交和工作目录中文件的状态如下图:
我们分别执行了三种回退方式:
git reset --soft HEAD^:温柔的回退。
git reset --mixed HEAD^:中等回退。
git reset --hard HEAD^:强硬的回退。
(我们从英文中就可以看出,一个比一个回退的多。)
下面我们一一进行总结。
1、git reset --soft回退
当我在V4版本的时候,执行命令回退到V3版本。
Git中发生的变化如下图:
依据上图,理解一下发生的事情:本质上就发生了,把HEAD指针指向了V3版本。而工作区和暂存区中的readme.txt文件是没有做任何变动的。
所以你查看本地版本库中的文件是V3版本,工作区和暂存区中的文件是V4版本。
就等于回滚到了git commit之前的状态。
(我前面文章中有详细的演示)
拓展:
当我继续修改文件之后