搜尋

首頁  >  問答  >  主體

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,執行之後發現沒有回退到cb71ccdec14e,執行之後發現沒有回退到
cb71ccdec14e知道我跑到那個版本去了。 。 。 (抱歉我現在精神混亂,此處就省略1萬字了) 說了這麼多,那麼問題來了,看程式碼都看的出來,我用了3次git reset --hard xx了,我怎麼能回到8061035呢(

8061035 HEAD@{0}: reset: moving to 8061035🎜我已經用過一次,沒回去成功! 🎜
黄舟黄舟2795 天前557

全部回覆(4)我來回復

  • PHP中文网

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

    穿越回去 : git checkout 8061035 ; (但這是顯示為分離的)

    回覆
    0
  • 滿天的星座

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

    你目前的8061035版本最後一次變更是:commit: 增加文章評論表單,你的意思應該不是回到這個版本。
    你如果想回到第一步驟的8061035版本
    先用git log看下當前版本與你想回退的8061035版本之間有幾個版本
    這裡假設有N個版本
    試試:git reset --hard HEAD~N+1
    如果版本已經因為太多而凌亂的話,簡易使用sourceTree軟體,將專案匯入軟體中,可以很清楚的查看每個版本以及變更。也能選擇想回退的版本回退回去。

    回覆
    0
  • 習慣沉默

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

    先git log看看目前的版本號,再git status看一下程式碼的修改情況,git stash暫存一下現在的修改,然後查看一下程式碼,是否正確,然後再試試樓上的方法

    回覆
    0
  • 大家讲道理

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

    樓上正解。 checkout就可以了。

    回覆
    0
  • 取消回覆