漂亮男人2017-05-02 09:22:55
可以透過reflog來恢復,前提是遺失的分支或commit資訊沒有被git gc清除
一般情況下,gc對那些無用的object會保留很久後才清除的
可以使用git reflog show或git log -g指令來看到所有的操作日誌
恢復的過程很簡單:
透過git log -g指令來找到需要恢復的資訊對應的commitid,可以透過提交的時間和日期來辨別,找到執行reset --hard之前的那個commit對應的commitid
透過git branch recover_branch commitid 建立一個新的分支
這樣,就把到commitid為止的程式碼、各種提交記錄等資訊都恢復到了recover_branch分支上了。
天蓬老师2017-05-02 09:22:55
git stash save
git reflog
git checkout
git branch
stash你現在的髒內容。用reflog找到你要回去的commit,checkout過去然後建個分支跟原來分支merge。