版本回退有两个命令git reset 和 git revert,现在想回退到版本库的某一版,在本地执行了 git reset commitID,回退成功,但是git pull后,代码又变为当前版本了,并没有回退成功,求怎么将版本库的代码也回退
2 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
$ git reset --hard HEAD^(表示回退到上一个版本)
然后git log 查看提交记录,一直溯源
$ git reset --hard xxxx(某某版本号)
不过,有个记录神器 $ git reflog,记录了很多版本提交记录
现在总结一下:
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
慕仙森
TA贡献1827条经验 获得超7个赞
因为在本地使用git reset
之后,相当于本地比线上的版本低,所以需要pull
再push
,然而pull
之后又把最新的拉下来了,所以陷入了一个循环中,因此你可以使用git revert
,这个命令会在你本地新建一个提交记录,这样你就可以正常push
上去了。
当然,你也可以在本地使用了git reset
命令之后,推送的时候尝试使用git push --force
,但是需要说明的是,第二种方式我没有试过,也不太建议使用。
不知道是否对你有帮助。
- 2 回答
- 0 关注
- 1605 浏览
添加回答
举报
0/150
提交
取消