git搞错了,请教下怎么恢复!

shell8061035 HEAD@{0}: reset: moving to 8061035
15d526a HEAD@{1}: reset: moving to 15d526ab987063e1a65a04cd429391a573154529
8061035 HEAD@{2}: reset: moving to 8061035b57357aa9bd144197c8170b6a4c7b91ff
cb71ccd HEAD@{3}: reset: moving to cb71ccdec184e641af4a792e6ac4aef25b5d14df
8061035 HEAD@{4}: commit: 增加文章评论表单

原因是我发现我commit错了,然后就执行了git reset --hard cb71ccdec184e641af4a792e6ac4aef25b5d14df,执行之后发现没有回退到cb71ccdec184e641af4a792e6ac4aef25b5d14df,但是我的代码不知道跑到那个版本去了。。。(抱歉我现在精神混乱,此处就省略1万字了)
说了这么多,那么问题来了,看代码都看的出来,我用了3次git reset --hard xx了,我怎么才能回到8061035呢(8061035 HEAD@{0}: reset: moving to 8061035我已经用过一次,没回去成功!)?

阅读 5k
5 个回答

穿越回去 : git checkout 8061035 ; (但这是是显示为分离的)

你目前的8061035版本最后一次变更是:commit: 增加文章评论表单,你的意思应该不是回到这个版本。
你如果想回到第一步中的8061035版本
先用git log看下当前版本与你想回退的8061035版本之间有几个版本
这里假设有N个版本
试试:git reset --hard HEAD~N+1
如果版本已经因为太多而凌乱的话,简易使用sourceTree软件,将项目导入到软件中,可以很清楚的查看每个版本以及变更。也能选择想回退的版本回退回去。

先git log看看目前的版本号,再git status看一下代码的修改情况,git stash暂存一下现在的修改,然后查看一下代码,是否正确,然后再试试楼上的方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题