歡迎來到《Git 起來!每日一招學起來》的第二天!
昨天我們學會了 git add
,把檔案放進「購物車」準備提交。
今天,我們要學的是 git commit
就是 按下結帳鍵,把購物車的東西正式存入 Git 歷史。
git commit
是什麼?簡單來說,git commit
的角色就是:
把暫存區的檔案「打包」成一個版本,存入 Git 的版本庫。
Git 的三個區域我們在 Day 1 認識過:
整個流程可以想像成:
就算暫存區有東西,如果沒有 commit,也不會被記錄。
暫存區就像「購物車」;commit 則是「結帳」,把你選好的內容永久保存。
最常用的 commit 指令:
# 建立一次 commit
git commit -m "加入首頁設計"
# 建立 commit 並同時加入暫存區裡未 add 的檔案
git commit -a -m "修正錯字"
# 只提交暫存區裡指定的檔案(忽略其他已暫存檔案)
git commit --only index.js -m "只提交一個指定的檔案"
git commit --only index1.js index2.js -m "只提交兩個指定的檔案"
m "訊息"
:給這次 commit 一個說明a
:自動將已追蹤檔案的變更加入 commit(不用再手動 git add
)--only <檔案>
:只對暫存區裡指定檔案建立 commit,不會一次把暫存區全部提交一個好的 commit message 可以幫助你與團隊快速理解歷史:
<type>(<scope>): <簡短描述>
範例:
feat(login): 新增社群登入功能
fix(button): 修正送出按鈕點擊失效
refactor: optimize database queries
type | 英文原意 | 用途說明 |
---|---|---|
feat | feature(功能) | 新增功能,或對使用者有明顯影響的變更 |
fix | fix(修復) | 修正程式錯誤或 Bug |
docs | documentation(文件) | 僅修改文件內容,不影響程式碼 |
refactor | refactor(重構) | 重構程式碼,但不改變功能(例如: 優化結構、提高可讀性) |
chore | chore(雜務) | 與功能無關的修改(例如: 建置流程、設定檔、套件更新) |
如果 commit 後發現訊息寫錯,可以用:
git commit --amend -m "正確的 commit 訊息"
⚠️ 注意:若這次 commit 已經 push 到遠端,修改 commit 會改變歷史,請小心使用。
git add
放進暫存區,再用 git commit
提交。git commit -a
提交修改的檔案(不先 add)。git commit --amend
改成更清楚的訊息。今天我們學到:
git commit
就是「結帳鍵」,把暫存區的檔案存入版本庫git commit -a
和 -amend
是常用進階技巧明天我們會聊 Day 3:git status
& git log
—— 你的專案 GPS 🗺️
讓你隨時掌握專案狀態,不再迷路。