課程目標

  • 學會 git 版本切換

課程內容

上次的內容順利提交之後

這次讓我們試試看切換版本功能!

在 git log 內,每個 commit 紀錄後面,會看到一串提交代號,類似這樣 0e78f9d62d1342f29b1a2a3af8b751f1a4d653ef

git 強大的版本歷史功能,就跟這個相關

請找到前一筆提交的代號,然後輸入切換版本指令

git checkout 148106fcb1a496ab034ad5f6253c1dd8fe21eb22

看一下資料夾內容,會發現就跟「搭時光機」一樣,整個專案的狀態「回溯」到上一次提交了!

再看一下這時 git log 會顯示什麼,會發現歷史紀錄也只剩兩筆了!

你可以再找出更前一筆提交代號

git checkout 0e78f9d62d1342f29b1a2a3af8b751f1a4d653ef

會發現回溯到第一筆提交狀態了!神奇吧!


時光機搭完了,要如何回到最新狀態呢?

git checkout master

這樣就行了!

master 其實是主要的 branch 名稱

先不用管 branch 是什麼意思,之後會提到

在學習 git 過程中,很多東西先「享受用起來的好處」就夠了

背後機制與觀念,有點一知半解沒關係,真的卡關再去鑽研就可以了

反正目的就是管理檔案的歷史版本而已嘛!

課後作業

接續前一課的作業,你的專案目前有三個 html 檔案

你突然又有點反悔,覺得原本全部資訊寫在 index.html 那樣比較好?

開發專案時,像這樣反反覆覆其實很正常,就切回去看一下,感覺看看有沒有比較好,再決定即可

請使用 git checkout {版本} 指令,切回前一個 commit 的版本

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


請輸入 git log,應該會發現,歷史紀錄也倒退了一個版本!

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


交作業的方法:

可以把整段 git log 顯示的文字內容複製,貼到留言區

也可以直接截圖視窗內 git log 的內容,上傳到留言區


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

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

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

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

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


共有 9 則留言

作業繳交

按讚的人:

交作業,再麻煩站長了,謝謝

按讚的人:

```D:\Git\11052023test>git checkout 0c18d82a15fd93a83ee91e1121651fc80baeeee7 Note: switching to '0c18d82a15fd93a83ee91e1121651fc80baeeee7'.

You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 0c18d82 index

D:\Git\11052023test>git log commit 0c18d82a15fd93a83ee91e1121651fc80baeeee7 (HEAD) Author: Steven Ma <@gmail.com> Date: Sun Nov 5 20:10:20 2023 +0800

index

commit f76265b33aa49b68be8e9edf2b5fc4430b474643 Author: Steven Ma <@gmail.com> Date: Sun Nov 5 20:08:51 2023 +0800

README

commit 227584493e0df5943d82977c128612a890ee33d0 Author: Steven Ma <@gmail.com> Date: Sun Nov 5 19:50:25 2023 +0800

add one more work

commit 0dae59b03be7670dd460e97f8dd1f903e2e722a5 Author: Steven Ma <@gmail.com> Date: Sun Nov 5 19:48:34 2023 +0800

add another work

```

按讚的人:

作業繳交

按讚的人: