來建立第一個檔案吧,請建立 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
的內容,上傳到留言區
歡迎將作業成果,在下方留言,跟大家分享,讓大家給你一些回饋!
可以將每課學到的觀念、關鍵字,丟到網路上去搜尋、研究一下!
發問請在「討論專區」為主,或者分享學習筆記、寫學習心得!
貼文都會出現在個人檔案頁面,成為學習歷程、部落格紀錄!
未來面試時,分享給面試官看,會讓人知道你的積極程度!
我發現在使用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
交作業
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
交作業
‘新增檔案 -> 編寫草稿 -> 放進滿意區 -> 最後一口氣把滿意區的所有檔案提交出去‘
覺得這段站長比喻的很好,很清楚明瞭