在使用 Git 的過程中,有時會不小心丟失 commit 信息。這一般出現在以下情況下:強制刪除了一個分支而后又想重新使用這個分支,hard-reset 了一個分支從而丟棄了分支的部分 commit。如果這真的發生了,有什么辦法把丟失的 commit 找回來呢?
通常最快捷的辦法是使用 git reflog 工具。當你 (在一個倉庫下) 工作時,Git 會在你每次修改了 HEAD 時悄悄地將改動記錄下來。當你提交或修改分支時,reflog 就會更新。git update-ref 命令也可以更新 reflog。
1.先用reflog看看記錄的所有HEAD的歷史: git reflog
2.然后找到那個SHA,進行恢復: git reset --hard 98abc5a