引子
平时再使用Git进行版本控制时,有时候可能会有遇到问题或者操作失误的情况,这时候我们需要回退git版本,下面介绍回退时可能使用的命令。
介绍
我们的git路径如下:
--git-test
|
--test.txt
test.txt文件初始状态为空:

test.txt
git reset
常见的是使用git reset命令,这个命令有两个不同的参数,实际效果和区别见下:
- soft
git reset --soft xxx
当我们执行git reset --soft时,git不会实际改变版本变动的文件,而是让HEAD指向到指定版本的commit状态,详细情况见下:
我们给test.txt文件输入内容,如下

test.txt
然后提交更改:

提交更改
然后查询log:

查询log
使用git reset --soft XXX命令,然后执行git status命令,看看当前状态,发现回退到了初使版本的待commit状态,test的内容也没有被回退:

结果
- hard
git reset --hard xxx
当我们执行git reset --hard时,git会将文件和HEAD指针均回退到指定版本,文件的内容会被回退,详细情况见下:
基本操作与上面类似,这里给出reset结果:

image.png
git revert xxx
还有一个和版本回退相关的命令,就是git revert,它会将当前的工作区的内容回退到指定版本的内容,但是并不会删除掉log记录,而是把这个revert操作作为一个变更记录提交,详细情况见下:
revert操作,回退到上一版本:

revert操作
revert前的log:

revert前的log
revert后的log:

revert后的log
版权声明
本作品采用知识共享署名 4.0 国际许可协议进行许可。