這是一個悲傷的故事,當初因為一時的歡樂,所造成樂極生悲的故事。

故事冗長簡單來說就是,因為完成了作業開開心心,極度高興下要將作業上傳到 github ,當我 push 的時候,發現了錯誤因為我沒有將 github 上面的檔案同步。所以就老方法 pull 下來 master 合併,然後順手將 branch 刪除。

當一切都完成後,我發現我的作業不見了!!!瞬間想到我的 commit 是在之前刪除的 branch 裡面。等於說我將作業給刪除了!!!!一想到我的心血就這樣付諸流水,頓時有種生不逢時,天要亡我的悲壯情緒中。

帶著悲傷的心情求助於助教,看看助教有沒有什麼靈丹妙藥,可以找回我失去的作業。不然我就要重新練功阿!!!然後助教跟我說他也沒遇過這問題,但是他給我一份武林中流傳的秘笈,聽說對找回失去的 branch 有特別的療效。抱著既緊張又害怕的心情,我打開了網站。

武功秘笈: https://gitbook.tw/chapters/branch/restore-deleted-but-unmerged-branch.html

看了祕笈發現,原來我當初失去的 branch 還沒有消失,只是我跟他斷開了連結切斷了羈絆,他一直都在角落默默的等著我,照著上面的步驟我跟著執行了一次。

第一步 找回當初的 commit 的 SHA-1

在 commit 的時候,電腦都會隨機給予一個亂數 SHA-1,我想大多數的人都不會特別去記得,跟阿嬤的裹腳布一樣又臭又長,根本記不住。想當然我也是沒注意過 SHA-1 的那一員,還好秘笈上有說明。

請輸入 git reflog

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/428a6a86-b239-4f4d-a121-ec5e0e8d8a9e/1596820085732.jpg

這樣就可以得到之前的執行名稱,以我的狀況就可以得到我當初 commit 的 week7 的 SHA-1 叫做7001575 也就是我失去的作業

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d6a2b741-43a4-4960-a09b-dde4a7f9f251/1596890922481.jpg

第二步 建立新的連結