Git Helper
分析變更 → 產出 commit message → 執行 git 操作
核心理念
code
┌─────────────────────────────────────────────────────────────────┐ │ 清晰的 git 歷史是專案的寶貴資產 │ │ │ │ 本 Skill 職責: │ │ • 產出規範的 commit message │ │ • 建議分支策略 │ │ • 協助建立 PR │ │ • 維護清晰的 git 歷史 │ └─────────────────────────────────────────────────────────────────┘
Commit Message 規範
Conventional Commits 格式
code
<type>(<scope>): <description> [optional body] [optional footer]
Type 類型
| Type | 說明 | 範例 |
|---|---|---|
feat | 新功能 | feat(auth): add login API |
fix | Bug 修復 | fix(ui): correct button alignment |
docs | 文件更新 | docs: update README |
style | 格式調整 | style: format code |
refactor | 重構 | refactor(api): extract helper |
test | 測試 | test: add user tests |
chore | 雜項 | chore: update deps |
Commit Message 產生流程
code
┌─────────────────────────────────────────────────────────────────┐ │ 1. 分析變更 │ │ → git diff --staged │ │ → 識別變更類型和範圍 │ │ │ │ 2. 判斷 type │ │ → 新增功能?修復 bug?重構? │ │ │ │ 3. 判斷 scope │ │ → 哪個模組受影響? │ │ │ │ 4. 撰寫 description │ │ → 簡潔說明「做了什麼」 │ │ │ │ 5. 加入 footer │ │ → Co-Authored-By 標記 │ └─────────────────────────────────────────────────────────────────┘
Commit 範例
Milestone 完成
bash
git commit -m "$(cat <<'EOF' feat(M2): 完成核心 UI 元件 - 2.1 建立 TodoList 元件 - 2.2 建立 TodoItem 元件 - 2.3 實作基本樣式 驗收:靜態列表可正確顯示 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )"
Bug 修復
bash
git commit -m "$(cat <<'EOF' fix(api): 修正用戶驗證失敗問題 問題:登入時偶爾出現 401 錯誤 原因:token 過期檢查邏輯錯誤 解法:修正過期時間比較運算 Fixes #123 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )"
分支策略
Git Flow 簡化版
code
main ─────────────────────────────────────────────►
│ ↑
└─── feature/xxx ─── PR ─── merge ───┘
分支命名
| 類型 | 格式 | 範例 |
|---|---|---|
| 功能 | feature/描述 | feature/add-login |
| 修復 | fix/issue-號碼 | fix/issue-123 |
| 重構 | refactor/描述 | refactor/api-layer |
Pull Request 模板
markdown
## Summary <1-3 bullet points> ## Changes - 變更 1 - 變更 2 ## Test Plan - [ ] 單元測試通過 - [ ] 手動測試完成 ## Screenshots (if applicable) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
最小範例
markdown
用戶:提交這些變更 AI: 1. 分析 git diff 2. 識別:新增了 TodoList 元件 建議 commit: ┌─────────────────────────────────────────────────────┐ │ 📝 Commit Message │ │ │ │ feat(ui): 新增 TodoList 元件 │ │ │ │ - 建立 TodoList.jsx │ │ - 建立 TodoList.css │ │ - 實作基本列表渲染 │ │ │ │ 🤖 Generated with Claude Code │ │ Co-Authored-By: Claude <noreply@anthropic.com> │ └─────────────────────────────────────────────────────┘ 要執行這個 commit 嗎?
與其他 Skill 的協作
code
┌─────────────────────────────────────────────────────────────────┐ │ 在工作流程中的位置 │ │ │ │ [實作] → [test-helper] → [code-reviewer] → [git-helper] │ │ ↓ │ │ commit & push │ │ ↓ │ │ 建立 PR │ └─────────────────────────────────────────────────────────────────┘
安全規則
code
┌─────────────────────────────────────────────────────────────────┐ │ ❌ 禁止: │ │ • 不更新 git config │ │ • 不執行 force push │ │ • 不執行 hard reset │ │ • 不跳過 hooks (--no-verify) │ │ │ │ ✅ 必須: │ │ • 每次 commit 前確認變更內容 │ │ • 包含 Co-Authored-By 標記 │ │ • 遵循 Conventional Commits 格式 │ └─────────────────────────────────────────────────────────────────┘
設計原則
- •清晰歷史 - commit message 要有意義
- •小步提交 - 一個 commit 做一件事
- •可追溯 - 能從 commit 找到對應的需求
- •規範一致 - 團隊使用統一格式
- •安全優先 - 不執行危險操作
限制與邊界
- •不執行 force push、hard reset 等危險操作
- •需要用戶確認後才執行 commit
- •複雜的 merge conflict 需要人工處理
- •不自動推送到遠端(除非用戶明確要求)