
Git Smart Commit
- 5 installs
- Updated June 27, 2026
- mz038197/vanscoding-skills
Helps with git & pull requests tasks.
About
Git Smart Commit is a Claude Code skill for git & pull requests. It helps solo builders move faster with AI-assisted coding.
- Git Smart Commit
- Git & Pull Requests
- AI-coding skill
Git Smart Commit by the numbers
- 5 all-time installs (skills.sh)
- Ranked #474 of 733 Git & Pull Requests skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/mz038197/vanscoding-skills --skill git-smart-commitAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 5 |
|---|---|
| Last updated | June 27, 2026 |
| Repository | mz038197/vanscoding-skills ↗ |
What it does
Helps with git & pull requests tasks.
Files
Git Smart Commit — 智慧拆分提交
將目前所有 staged / unstaged 變更,依功能邏輯分群後,逐批 git add + git commit。
---
流程
1. 檢查變更狀態
執行以下指令取得完整變更清單:
git status --short若沒有任何變更,告知使用者「目前沒有需要提交的變更」後結束。
接著取得所有變更的 diff 內容(用來判斷分群邏輯):
git diff
git diff --cached---
2. 分析並分群
根據以下維度,將檔案變更分成多個 commit 群組,每組代表一個獨立的邏輯單元:
分群依據(優先順序)
| 優先級 | 維度 | 範例 |
|---|---|---|
| 1 | 專案腳手架 / 設定檔 | package.json, vite.config.*, .gitignore, README.md, tsconfig.json |
| 2 | 資料層 / config data | src/data/*.js, src/constants/*, src/config/* |
| 3 | 元件(按元件名稱分組) | src/components/Hero.jsx + 對應測試 + 對應樣式 |
| 4 | 頁面 / 路由 | src/pages/*, src/routes/*, src/App.jsx |
| 5 | 全域樣式 | src/index.css, src/styles/*, src/theme/* |
| 6 | 工具 / hooks / 型別 | src/utils/*, src/hooks/*, src/types/* |
| 7 | 測試 | __tests__/*, *.test.*, *.spec.* |
| 8 | 文件 / 其他 | docs/*, *.md(非 README), 其他雜項 |
分群規則
- 同一元件的 JSX/TSX + CSS Module + 測試 → 歸為同一組
- 相關的資料檔如果是為某個元件服務 → 可考慮合併或獨立,取決於變更量
- 若某一組只有 1 個檔案且改動極小(< 5 行)→ 合併到最相關的鄰近組
- 新增檔案用 `feat`,修改用 `fix` / `refactor` / `style`,刪除用 `chore`
---
3. 產出 Commit 計畫
在執行任何 git 操作之前,先列出計畫讓使用者確認:
📋 Commit 計畫(共 N 個 commit)
1. chore(project): 初始化專案設定與相依套件
→ package.json, vite.config.js, .gitignore
2. feat(data): 新增首頁各區塊的設定資料
→ src/data/navigation.js, src/data/hero.js, ...
3. feat(navbar): 新增 Navbar 元件(含 RWD 漢堡選單)
→ src/components/Navbar.jsx
...
確認執行?(Y/n)使用 notify_user 工具向使用者展示計畫並等待確認。
---
4. 逐批執行 Commit
使用者確認後,對每一組依序執行:
git add <file1> <file2> ...
git commit -m "<type>(<scope>): <subject>"Commit Message 格式
<type>(<scope>): <簡短描述,繁體中文>type 對照表:
| type | 使用時機 |
|---|---|
feat | 新增功能、元件、頁面 |
fix | 修復 bug |
style | 純樣式調整(不影響邏輯) |
refactor | 重構(不改變行為) |
chore | 雜務(設定檔、腳手架、CI) |
docs | 文件更新 |
test | 測試相關 |
scope 規則:
- 元件:用元件名稱小寫,例如
hero,navbar,pricing - 資料層:
data - 全域樣式:
style - 專案設定:
project - 多個範圍:用最主要的一個,不要用斜線串接
subject 規則:
- 使用繁體中文
- 不超過 50 字
- 不以句號結尾
- 用「動詞開頭」:新增、調整、修正、移除、重構
---
5. 確認結果
所有 commit 完成後,執行:
git log --oneline -20將結果展示給使用者,確認所有 commit 都已正確建立。
---
邊界情況處理
- 有衝突或 merge 狀態:提醒使用者先解決衝突,不執行任何操作
- 有 `.env` 或敏感檔案:提醒使用者確認是否應被 gitignore,不自動提交
- 變更量極大(> 50 個檔案):先產出分組摘要,請使用者確認後再執行
- 使用者已有部分 staged 變更:尊重已 staged 的狀態,將其視為一個獨立群組或合併到最相關的群組