iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 0
0
自我挑戰組

我的 Git 學習歷程系列 第 18

變更系列-4:如何退回至指定的 Commit?

  • 分享至 

  • xImage
  •  

角色情境

小明同時學會輸入指令操作著終端機、
以及透過滑鼠操作著圖像化介面的 Sourcetree 軟體,
又完成一項如何操作 Git 的概念,信心也逐漸大增。

小明:「完成了。」
小明:「不過,另一個還原的方法是什麼呢?」
小華:「假設今天是不小心進行 Commit,那麼如何還原呢?」


如何透過終端機退回至指定的 Commit?

在 Windows 作業系統,透過命令提示字元或 PowerShell 開啟類似終端機的視窗。
在 Mac OS 作業系統,透過終端機或 iTerm 開啟終端機的視窗。

請依照下列的步驟執行,透過指令退回至指定的 Commit 囉:
(步驟一) 請打開終端機的視窗。
(步驟二) 前往工作目錄,請輸入指令:cd "目錄的名稱"
(步驟三) 檢視 Commit 紀錄取得 SHA-1 亂碼文字:git loggit reflog
(步驟四 - A) 退回至指定的 Commit(有幾個 ^ 代表往前退回幾次):git reset 亂碼文字^^^git reset 亂碼文字~3
(步驟四 - B) 依照目前 master 分支或 HEAD 指標的位置,退回至指定的 Commit(有幾個 ^ 代表往前退回幾次):git reset master^^^git reset HEAD~3


如何透過圖像化介面的 Sourcetree 軟體退回至指定的 Commit?

請依照下列的步驟執行,透過滑鼠操控介面,退回至指定的 Commit:
(步驟一) 點擊 Sourcetree 軟體圖示,開啟舊目錄。
(步驟二) 查看左側項目,點選 History 項目。
(步驟三) 選擇指定退回的 Commit,點擊右鍵出現選單,點選「Reset master to this commit」選項。
(步驟四) 跳出視窗,確認 git reset 所搭配的參數,決定檔案的去留,點擊 OK 按鈕。
(步驟五) master 分支以及 HEAD 指標,前往指定退回的 Commit。

https://ithelp.ithome.com.tw/upload/images/20200930/20130245uDFp19PjPh.png


git reset 所搭配的參數分成幾種模式?

git reset 所搭配的參數會決定檔案的去留,分成下列的三種模式:

https://ithelp.ithome.com.tw/upload/images/20200930/2013024547Xy4TQGw5.png

接下來,忽略,又是如何進行呢?


參考來源

(1) 高見龍 -【狀況題】剛才的 Commit 後悔了,想要拆掉重做…
(2) 高見龍 -【狀況題】不小心使用 hard 模式 Reset 了某個 Commit,救得回來嗎?


上一篇
變更系列-3:如何救回被刪除的檔案?
下一篇
變更系列-5:如何讓 Git 忽略檔案? (VSCode 篇)
系列文
我的 Git 學習歷程32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言