今天要來學習不小心被我 git reset
後的 commit 惹~
首先,複習一下昨天講的, git reset
都不是真的把 commit 的版本刪掉或是重新設定的意思喔,他們只是暫時看不到,隨時都可以撿回來D。
先來看看我的 commit 紀錄有四筆。
今天我要回到前一個 commit 版本,所以輸入了 git reset master^
會看到我的紀錄剩三筆。
那我今天要回到我剛 reset 掉的紀錄該怎麼做呢?
記得昨天的說過的三個模式嗎?
這裡是預設模式,所以 commit 會放到工作目錄上,不會留在暫存區。
我們就再 reset 回去就可以嚕!reset 到剛剛的c30e74e。
--hard
可以強迫放棄 reset 掉的檔案。
再看一次我們的紀錄
--回來惹!
欸...問題來惹
識別碼哪裡記得住呢
別擔心,輸入 git reflog
就可以查詢到 reset 的檔案嚕!
--是不是一清二楚R
輸入
git log -g
跟git reflog
也一樣喲!
雖然 reset
的英文是重新設定的意思,但在 Git 裡比較像是 「變成」
或是「前往」
的意思。所以我們就可以想成前往到上一次的 commit 或是前往到某某識別碼的版本喲!:)
就算不小心使用 --hard
掉的 commit 都可以再回來喲!再次提醒,只要不是刪掉 .git
一切都還可以再重來!真的很重要R( ˘・з・)