課程目標

  • 學會重置指令

課程內容

來學一個強大的指令:重置

上一課的取消功能,是針對修改到一半的檔案

這時很自然會浮現一個問題:如果是之前已經提交過的內容,有辦法取消嗎?

點開 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.txtbackground.txt 很多餘,想要把內容移回 me.txt 裡面

開發專案時,像這樣反反覆覆其實很正常,git 就是為了處理這種情境而生的

請切換到 History 分頁,找到之前把 me.txt 檔案改寫的那個 commit

然後使用 Revert Changes in Commit 功能來還原 commit 內容

還原之後,你可以看一下資料夾內容,應該會發現變回之前的樣子了!

然後在 History 分頁應該會看到,多了一筆 commit,是用來記錄那筆還原的

完成以上任務,你就完成這次的課程目標了!


交作業的方法:

請直接截圖 Github Desktop 視窗的內容,上傳到留言區


歡迎將作業成果,在下方留言,跟大家分享,讓大家給你一些回饋!

可以將每課學到的觀念、關鍵字,丟到網路上去搜尋、研究一下!

發問請在「討論專區」為主,或者分享學習筆記、寫學習心得!

貼文都會出現在個人檔案頁面,成為學習歷程、部落格紀錄!

未來面試時,分享給面試官看,會讓人知道你的積極程度!


共有 2 則留言