Git基本操作(8)- git 本地仓库回退详解
如果你的文件已提交到了本地仓库,然后后悔了,那恭喜你,只能回退版本号了1、情况一,我提交到了仓库,想回退,但工作区的对此版本的修改还要保留此处有一个小坑首先,我原来的内容是这样的我现在修改 ,加了一行5然后我一顿提交,我的新版本生成了现在我后悔了,想从本地仓库把修改撤回你可能遇到这种写法会报一个more的错这是因为cmd控制台中换行符默认是^,而不是\,所以它的more?的意思是问你下一行是否需要
如果你的文件已提交到了本地仓库,然后后悔了,那恭喜你,只能回退版本号了
1、情况一,我提交到了仓库,想回退,但工作区的对此版本的修改还要保留
此处有一个小坑
首先,我原来的内容是这样的
我现在修改 ,加了一行5
然后我一顿提交,我的新版本生成了
现在我后悔了,想从本地仓库把修改撤回
你可能遇到这种写法
会报一个more的错
这是因为cmd控制台中换行符默认是
^
,而不是\
,所以它的more?的意思是问你下一行是否需要再输入,而^
符号就被当做换行符而被git命令忽略掉了。
那如何修改呢 ,我们加个引号
git reset "HEAD^"
现在我们看结果:增加一行5的版本没有了,但工作区对增加5的这行修改还在
那如果用 git reset --hard ,那肯定工作区的修改也没了
git reset --hard "HEAD^"
注意的是,--hard在本地工作区回退,是相对你上次提交到本地仓库的回退
比如说,我增加一行5,提交到本地仓库,则在版本库中生成了一个版本号”36d93f9“
我再增加一行6,提交到暂存区
我再增加一行7,提交到暂存区
然后我一起提交到本地仓库,生成版本号 7a71699
好,我现在回退,看6和7都没了
所以 -- hard 工作区的回退是两个版本差异的回退,跟版本之间你在暂存区又干了啥没有关系,不会先回退到6,再回退到7,
二、想回退到某个版本
git reset 版本号
git reset --hard 版本号
两个的区别就不多说了,不行看上一篇文章
https://blog.csdn.net/weixin_43258703/article/details/121581354
更多推荐
所有评论(0)