suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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我已经用过一次,没回去成功!)?

黄舟黄舟2795 Tage vor555

Antworte allen(4)Ich werde antworten

  • PHP中文网

    PHP中文网2017-04-28 09:06:44

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

    Antwort
    0
  • 滿天的星座

    滿天的星座2017-04-28 09:06:44

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

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-04-28 09:06:44

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

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-04-28 09:06:44

    楼上正解。checkout就可以了。

    Antwort
    0
  • StornierenAntwort