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

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

然后提交更改:

然后查询log:

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

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

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

revert
前的log:

revert
后的log:

版权声明
本作品采用知识共享署名 4.0 国际许可协议进行许可。
网友评论