來學一個強大的指令:重置
上一課的取消功能,是針對修改到一半的檔案
這時很自然會浮現一個問題:如果是之前已經提交過的內容,有辦法取消嗎?
點開 History
分頁,假如我們今天對「上上次的提交內容」不滿,也就是 add another work
那筆 commit 不滿意,怎麼辦?
其實很簡單!
請把滑鼠游標移到 commit 上面,點擊右鍵,選擇 Revert Changes in Commit
你會發現 History
多了一筆 commit!
這筆 commit 內容跟原本的 commit 內容完全相反,也就是會抵銷掉那筆 commit!
打開資料夾看一下,會發現 my-document-3.txt
檔案整個不見了!
這就是 git 強大的地方:不只是正在修改的檔案內容,連之前修改的內容,都可以追蹤、回溯、管理!
看到這邊你可能會心想:為什麼要多一筆 commit?
怎麼不把那筆 commit 直接刪除掉就好?
其實,這是因為 git 通常是「團隊在使用」的工具
已經送出去的 commit,通常已經同步到很多人的電腦上了
如果這時工程師 A 刪了這筆 commit,工程師 B 刪了那筆 commit,那最後同步起來,大家電腦上的 commit 歷史記錄,到底長怎樣?很亂吧?
所以,git 就一律設計成:想要回溯,就也是加一筆 commit!只是會自動進行相反的變化!
這樣大家電腦上的 commit 歷史記錄,同步起來,就單純很多了!commit 數量永遠都是加法,不斷加上去而已!
很聰明的設計吧!
這次來模擬實際工作的時候,你突然對之前的 commit 內容不滿意,想要把檔案內容還原的過程
繼續修改我們的履歷表專案吧!
目前裡面有 me.txt
about.txt
background.txt
goals.txt
四個檔案
你突然又有點反悔,覺得 about.txt
跟 background.txt
很多餘,想要把內容移回 me.txt
裡面
開發專案時,像這樣反反覆覆其實很正常,git 就是為了處理這種情境而生的
請切換到 History
分頁,找到之前把 me.txt
檔案改寫的那個 commit
然後使用 Revert Changes in Commit
功能來還原 commit 內容
還原之後,你可以看一下資料夾內容,應該會發現變回之前的樣子了!
然後在 History
分頁應該會看到,多了一筆 commit,是用來記錄那筆還原的
完成以上任務,你就完成這次的課程目標了!
交作業的方法:
請直接截圖 Github Desktop 視窗的內容,上傳到留言區
歡迎將作業成果,在下方留言,跟大家分享,讓大家給你一些回饋!
可以將每課學到的觀念、關鍵字,丟到網路上去搜尋、研究一下!
發問請在「討論專區」為主,或者分享學習筆記、寫學習心得!
貼文都會出現在個人檔案頁面,成為學習歷程、部落格紀錄!
未來面試時,分享給面試官看,會讓人知道你的積極程度!