找回丟失的 commit 要記住不要慌 事情總有解決的方法

chaofu發表於2019-03-08

一開始在一個分支上修改程式碼

  1. git add -A
  2. git commit -m "修改"
  3. git push origin dev

    發現提交不了,心急了,切換分支

  4. 發現之前的 commit 的 不見
  5. git reflog
  6. 找到 上次的 commit
    $ git reflog
    b7057a9 HEAD@{0}: reset: moving to b7057a9
    98abc5a HEAD@{1}: commit: more stuff added to foo
    b7057a9 HEAD@{2}: commit (initial): initial commit
  7. git reset --hard 98abc5a
  8. 發現commit 回來了

    切換到遠端分支 把剛才的分支合併到遠端分支

    在A 分支上 找出要合併的commit ID :
    例如
    0128660c08e325d410cb845616af355c0c19c6fe
    然後切換到B分支上
    git checkout B
    git cherry-pick  0128660c08e325d410cb845616af355c0c19c6fe

參考連結

找回Git中丟失的Commit
Git合併某個分支的一個commit到另一個分支

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章