为了账号安全,请及时绑定邮箱和手机立即绑定

git版本回退

git版本回退

Git
杨__羊羊 2018-07-23 23:22:45
版本回退有两个命令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查看命令历史,以便确定要回到未来的哪个版本。


查看完整回答
反对 回复 2018-07-27
?
慕仙森

TA贡献1827条经验 获得超7个赞

因为在本地使用git reset之后,相当于本地比线上的版本低,所以需要pullpush,然而pull之后又把最新的拉下来了,所以陷入了一个循环中,因此你可以使用git revert,这个命令会在你本地新建一个提交记录,这样你就可以正常push上去了。
当然,你也可以在本地使用了git reset命令之后,推送的时候尝试使用git push --force,但是需要说明的是,第二种方式我没有试过,也不太建议使用。
不知道是否对你有帮助。

查看完整回答
反对 回复 2018-07-27
  • 2 回答
  • 0 关注
  • 1463 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信