上次我们说到查看历史版本,今天我们来说说新的知识。
修改当前版本
命令:
我们可以通过
git reset --hard[索引值]
将版本回滚到指定的版本。
参数
hard:会将本地库,暂存区和本地区的文件改变到指定的版本。
soft:只会将本地库进行修改。相当于git commit的上一个状态。
mix:会将本地库和暂存进行修改,想到于本地区写的代码才add到了暂存区。
(可能理解有误,雾,实践实践看看)
测试前状态
这个是昨天的文章执行了之后的样子。
image.png
jianshu.txt内容
image.png
创建新版本
在这里为了直观表现,我直接多创建了几个版本。
image.png
这个时候jianshu.txt的内容
image.png
只是回滚本地库
命令
git reset --soft 90df6eb
理论现象:
在本地库里面应该是head指向最开始的add test.txt的版本。但是由于使用的是soft参数的原因,本地区的文件应该是没有变化的。
测试截图:
image.png
由图中,我们可以看出只有本地库的版本进行了变化。但是后面版本新创建的jianshu.txt文件并没有因为版本的回滚小时。
回滚到暂存区
调整版本到最新。
image.png
在输入代码的时候一不小心输错了代码导致版本貌似出现了一些奇怪的东西,这些东西目前并不重要。我们只需要注意我们的版本回归到了最新即可。
image.png
这是暂存区的状态
image.png
命令
git reset --mix b329f1a
现象:
版本变化:
image.png
暂存区变化
image.png
本地区没有变化:
image.png
结果:
根据三个区的变化,我们可以看出。本地区并没有因为命令回滚,还是在最新的版本。
全部回滚
命令
git reset --hard
截图:
image.png
本地库回滚:
image.png
暂存区变化:这是因为在这个版本没有创建新文件。
image.png
代码区变化:
image.png
可以发现本地区的文件回归到了最初的样子。
删除文件恢复
根据上面的现象,我就可以利用本地库的特点恢复我们曾经删除过的代码。
恢复前提:
删除的文件一定要提交到本地库。
操作:
如果删除的文件已经提交到了新的版本。那么只需要回滚到之前一个版本就可以了。
可以使用
git reset --hard^
^
这个表示上个版本,^^
表示上上个版本递增。使用(~
+数字)可以回滚上几个版本,由数字控制回滚的版本。
网友评论