搜尋

首頁  >  問答  >  主體

github - git reflog恢復

git本地倉庫是否只要commit過的內容,不管之後經過多少次rebase,rest --hard等操作,都可以透過reflog恢復?

怪我咯怪我咯2768 天前782

全部回覆(2)我來回復

  • 漂亮男人

    漂亮男人2017-05-02 09:39:34

    並不是,因為 reflog 資料保存在 .git/logs/ 目錄下,當目錄沒有內容時無法進行 git reflog 操作。
    那麼只要保證這個不清空這個目錄就能隨便進行危險操作?
    依舊不行,因為 git 會不定時的自動運行 gc,而 git 的 gc 任務會將不被任何 commit 引用並且已存在一段時間 (數月) 的對象刪除。

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:39:34

    不要想著能恢復,就隨便做一些危險操作,萬一哪天真沒法恢復了,就悲劇了,要清楚工具的最佳效用是靠人去發揮的,最重要的還是保持協作流程規範。
    請參考:Git使用規範流程

    回覆
    0
  • 取消回覆