實務上,常常用如下的作法,讓 repository 完美回復到某個 commit 的狀態。
git reset --hard [Commit ID]
但 hard reset 的做法太過暴力了,使用不慎常常造成悲劇。比如說在 local repository 有未 commit 的更動,使用了 hard reset 就會全部歸零,所有心血付之一炬 (╥﹏╥)。本篇就個人經驗紀錄一下悲劇發生後的補救方式。
如果你是寫 Python 且使用 PyCharm 這個 IDE 的話,那本篇或許能救你一命。如果不是的話也別著急,或許其他 IDE 也有類似的功能。
首先在 PyCharm 對要救回的 Python 檔案按右鍵,在 Local History 選擇 「Show History」,這邊如果發現「Show History」是反灰的,那請節哀。
接下來會跳出 History 的視窗,如下圖,選擇要回復的紀錄按 Revert 就能順利救回。