Commit 拆掉之後又後悔了,可以再撿回來嗎?
當然可以,甚至是使用 --hard
模式拆掉的也都能撿回來,我們在下一個章節「【狀況題】不小心使用 hard 模式 Reset 了某個 Commit,救得回來嗎?」就會介紹如何撿回來。
【觀念】不要被 Reset 這個字給誤導了!
Reset 這個英文單字的翻譯是「重新設定」,但事實上 Git 的 Reset 指令用中文來說比較像是「前往」或「變成」,也就是「go to」或「become」的概念。當執行這個指令的時候:
$ git reset HEAD~2
這個指令你原本可能會解讀成「請幫我拆掉最後兩次的 Commit」,但其實用「拆」這個動詞只是我們比較容易理解而已,事實上並沒有真的把這個 Commit「拆掉」(放心,所有的 Commit 都還在)。
正確的說,上面這個指令應該要解讀成「我要前往兩個 Commit 之前的狀態」或是「我要變成兩個 Commit 之前的狀態」,而隨著使用不同的參數模式,原本的這些檔案就會丟去不同的區域。
因為實際上 git reset
指令也並不是真的刪除或是重新設定 Commit,只是「前往」到指定的 Commit,那些看起來好像不見的東西只是暫時看不到,但隨時都可以再撿回來。
Reset 是 Git 裡很常用的指令,所以一定要建立正確的觀念,操作 Git 才能真的達到隨心所欲的境界喔。
网友评论