SKILL.md
唯讀
名稱
commit-work
描述
建立高品質的 git 提交:檢視/暫存預期的變更、拆分為邏輯提交,並撰寫清晰的提交訊息(包含 Conventional Commits)。當使用者要求提交、撰寫提交訊息、暫存變更或將工作拆分為多個提交時使用。
提交工作
目標
建立易於審查且安全推送的提交:
- 只包含預期的變更
- 提交在邏輯上範圍明確(必要時拆分)
- 提交訊息描述變更內容與原因
需要詢問的輸入(若缺少時)
- 單一提交或多個提交?(若不確定:預設為當有不相關的變更時,使用多個小型提交。)
- 提交風格:必須使用 Conventional Commits。
- 任何規則:主旨最大長度、必要的 scope。
工作流程(檢查清單)
- 在暫存前檢視工作目錄
git statusgit diff(未暫存)- 若變更很多:
git diff --stat
- 決定提交邊界(必要時拆分)
- 依以下方式拆分:功能 vs 重構、後端 vs 前端、格式化 vs 邏輯、測試 vs 正式程式碼、相依套件升級 vs 行為變更。
- 若變更在同一個檔案中混合,規劃使用 patch 暫存。
- 只暫存屬於下一個提交的內容
- 對於混合變更,偏好使用 patch 暫存:
git add -p - 若要取消暫存某個區塊或檔案:
git restore --staged -p或git restore --staged <path>
- 對於混合變更,偏好使用 patch 暫存:
- 檢視實際將被提交的內容
git diff --cached- 合理性檢查:
- 沒有機密或 token
- 沒有意外的除錯日誌
- 沒有不相關的格式變動
- 用 1-2 句話描述暫存的變更(在撰寫訊息之前)
- 「變更了什麼?」+「為什麼?」
- 若無法清楚描述,則提交可能太大或混合了不同內容;回到步驟 2。
- 撰寫提交訊息
- 使用 Conventional Commits(必要):
type(scope): short summary- 空行
- 主體(什麼/為什麼,而非實作日記)
- 頁尾(BREAKING CHANGE)若需要
- 偏好使用編輯器處理多行訊息:
git commit -v - 若有幫助,可使用
references/commit-message-template.md。
- 使用 Conventional Commits(必要):
- 執行最小相關驗證
- 在繼續之前,執行儲存庫中最快的有效檢查(單元測試、lint 或建置)。
- 重複上述步驟進行下一個提交,直到工作目錄乾淨為止
交付物
提供:
- 最終的提交訊息
- 每個提交的簡短摘要(變更內容/原因)
- 用於暫存/檢視的指令(至少:
git diff --cached,以及任何執行的測試)






