課程目標

  • 學會 git 基本指令

課程內容

來建立第一個檔案吧,請建立 my-work-1.html 並放入以下內容

<p>我的第一個網頁檔案</p>

接著用 git status 看看狀況

會看到檔案名稱顯示為「紅色」,並放在「Untracked」訊息下方

這代表 git 已經發現它的存在了


接著來開始追蹤檔案

git add my-work-1.html

然後輸入 git status 看看狀況

會看到檔案名稱顯示為「綠色」,並放在「to be committed」訊息下方

這代表 git 已經把它放入暫存區,準備好正式納入歷史紀錄了


來建立第二個檔案試試吧,請建立 my-work-2.html 並放入以下內容

<p>我的第二個網頁檔案</p>

接著用 git status 看看狀況

會看到新的檔案又顯示為紅色,暫存區的檔案一樣是綠色沒變

接著再繼續追蹤

git add my-work-2.html

然後輸入 git status 看看狀況

會看到兩個檔案都顯示為綠色,代表都放入暫存區了


之所以會分成那麼多步驟,是因為開發者寫程式,很像是作家寫小說/漫畫家畫漫畫,交給出版社那樣

首先,你手上會有很多隨手草稿,這些看不順眼可以隨時丟掉,也就是 git 顯示為紅字的部份

接著,你覺得比較滿意的幾張紙會挑出來,放在旁邊,但你不會直接交給出版社,而是先整理在旁邊,也就是 git 顯示為綠字的部份

然後,哪些是滿意的?哪些是草稿?這兩部份你會一直改變心意,也就是有的會從紅色移進綠色,有的會從綠色移進紅色,一直來回修改,到你滿意為止

最後,你才會把這次要交給出版社的那些滿意部份,通通放進牛皮紙袋,一口氣交給出版社,而 git 版本管理就是在模擬這個過程


來正式提交我們的第一次版本紀錄吧!

需要打一段提示訊息,方便日後翻閱,大致知道每個提交的內容

git commit -m 'this is my first commit, i am so happy!'

完成之後,請再輸入 git status 看看,會看到又變得乾乾淨淨了,因為目前沒有正在「工作」的稿件

然後輸入 git log 看看,應該會看到剛剛那筆提交紀錄囉!


讓我們多提交幾次檔案,試試看多次提交的感覺!

先建立新檔案,請建立 my-work-3.html 並放入以下內容

<p>我的第三個網頁檔案</p>
git add my-work-3.html
git commit -m 'add another work'

然後再建立新檔案一次,請建立 my-work-4.html 並放入以下內容

<p>我的第四個網頁檔案</p>
git add my-work-4.html
git commit -m 'add one more work'

然後輸入 git log 看看,應該會看到總共三筆提交紀錄!


在 git 專有名詞中,檔案的狀態分為 untracked/unmodified/modified/staged/commited

提交則稱為 commit

不同文章,有時會用不同的稱呼,一開始有點混亂沒關係,久了會慢慢習慣

記得我說的作家與出版社的比喻即可,我會用 草稿/紅色 vs 滿意區/綠色 來描述檔案狀態

反正就是「新增檔案 -> 編寫草稿 -> 放進滿意區 -> 最後一口氣把滿意區的所有檔案提交出去」

然後身為作家,就是每個截稿日之前,都重複一次上面這個流程,就這樣而已

學習的過程,養成習慣,經常 git status git log 看一下,就會更清楚了!

課後作業

假設你正要做一個網站,來做自我介紹、經營個人品牌

請繼續用前一課作業的資料夾,用來放整個網站的檔案

然後要模擬實際開發的時候,先寫筆記規劃,接著一直增減檔案的過程

請按照以下順序送出 commit

第一個 commit:

新增一個 README.md 檔案,裡面放入以下內容(實務上,每個專案通常都會放這個檔案,內容是給自己看的專案筆記,不會出現在網站上):

# 簡介

這專案用來放我的個人品牌網站內容

# 規格

預計包含簡介、學經歷,等等頁面

第二個 commit:

新增一個 index.html 檔案,裡面放入以下內容

<h1>我是誰</h1>
<p>我是XXX,目前在自學網頁開發</p>
<h1>我的學歷</h1>
<p>高中:積極高中</p>
<p>大學:品質大學</p>

第三個 commit:

你改變心意,覺得拆成多個頁面比較好看,也比較容易分別追蹤瀏覽次數

請把 index.html 檔案的內容清空,改放以下內容

我是XXX,請參考其它頁面,瞭解更多我的介紹與背景。

新增 about.html 以及 background.html 兩個檔案

並且把 我是誰 的內容放進 about.html,把 我的學歷 的內容放進 background.html


最後,請輸入 git log,應該會看到以上三個 commit 的訊息!

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


交作業的方法:

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

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


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

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

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

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

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


共有 15 則留言

交作業 ‘新增檔案 -> 編寫草稿 -> 放進滿意區 -> 最後一口氣把滿意區的所有檔案提交出去‘ 覺得這段站長比喻的很好,很清楚明瞭

按讚的人:

很棒!就是這樣!順利完成!


寫程式也是寫作的一種,工作行為跟作家非常相似!

作業繳交

按讚的人:

我發現在使用git commit -m 'this is my first commit, i am so happy!'時會出錯 但改成git commit -m "this is my first commit, i am so happy!"就好了

按讚的人:

謝謝分享!滿奇怪的,我猜,可能是作業系統的關係!可能微軟的作業系統會這樣!

按讚的人:

交作業,再麻煩站長了,不確定是不是這樣?

按讚的人:

這邊不太確定是不是這樣~麻煩檢查一下 然後檢查完最後顯示no next tag無法打下個指令是正常的嗎qq

按讚的人:

沒問題,順利通過! 下方的提示訊息,應該只是請你按 Enter 離開畫面而已,很正常,你試試看~

交作業 commit 623696122a7028924149f1d983a0a345e3193b57 (HEAD -> master) Author: Date: Fri Sep 15 17:17:30 2023 +0800

last commit

commit 126d5173c22a9d735040f5ceefe51a7c5b44bcf7 Author: Date: Fri Sep 15 17:08:48 2023 +0800

add html file

commit 9e03a6e36e912f849f25a493dca88aebfa9aef82 Author: Date: Fri Sep 15 17:07:26 2023 +0800

add README file
按讚的人:

寫得很好,順利完成!

作業繳交

按讚的人: