git-helper

miles990's avatarfrom miles990

Git 操作輔助,提供 commit message 規範、分支策略與 PR 指引

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 10, 2026⬇️1downloads

When & Why to Use This Skill

Git Helper is a comprehensive version control assistant designed to streamline and standardize the development workflow. It automates the creation of Conventional Commit messages, suggests optimal branching strategies, and generates structured Pull Request templates. By analyzing code changes and providing guided Git commands, it helps teams maintain a clean, professional, and traceable project history while reducing the cognitive load of manual repository management.

Use Cases

  • Automated Commit Message Generation: Analyzes staged changes (git diff) to produce precise, Conventional Commit-compliant messages that clearly describe the 'what' and 'why' of a change.
  • Standardized Pull Request Creation: Generates detailed PR descriptions including summaries, change lists, and test plans to facilitate faster and more effective code reviews.
  • Workflow & Branching Strategy: Provides guidance on branch naming conventions (feature/, fix/, refactor/) and merging workflows to keep the repository organized and scalable.
  • Milestone & Release Management: Assists in bundling multiple changes into cohesive commits or PRs when reaching project milestones, ensuring all documentation and metadata are included.
  • Best Practice Enforcement: Ensures every commit follows team standards, including mandatory Co-Authored-By tags and avoiding dangerous operations like force pushes.
namegit-helper
version1.0.0
description"準備建立 Pull Request"
authormiles990
- namenext_action
typestring
requiredfalse
- pattern"建立 PR"

Git Helper

分析變更 → 產出 commit message → 執行 git 操作

核心理念

┌─────────────────────────────────────────────────────────────────┐
│  清晰的 git 歷史是專案的寶貴資產                                │
│                                                                 │
│  本 Skill 職責:                                                │
│  • 產出規範的 commit message                                    │
│  • 建議分支策略                                                 │
│  • 協助建立 PR                                                  │
│  • 維護清晰的 git 歷史                                          │
└─────────────────────────────────────────────────────────────────┘

Commit Message 規範

Conventional Commits 格式

<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 產生流程

┌─────────────────────────────────────────────────────────────────┐
│  1. 分析變更                                                    │
│     → git diff --staged                                         │
│     → 識別變更類型和範圍                                        │
│                                                                 │
│  2. 判斷 type                                                   │
│     → 新增功能?修復 bug?重構?                                │
│                                                                 │
│  3. 判斷 scope                                                  │
│     → 哪個模組受影響?                                          │
│                                                                 │
│  4. 撰寫 description                                            │
│     → 簡潔說明「做了什麼」                                      │
│                                                                 │
│  5. 加入 footer                                                 │
│     → Co-Authored-By 標記                                       │
└─────────────────────────────────────────────────────────────────┘

Commit 範例

Milestone 完成

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 修復

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 簡化版

main ─────────────────────────────────────────────►
       │                                    ↑
       └─── feature/xxx ─── PR ─── merge ───┘

分支命名

類型 格式 範例
功能 feature/描述 feature/add-login
修復 fix/issue-號碼 fix/issue-123
重構 refactor/描述 refactor/api-layer

Pull Request 模板

## Summary
<1-3 bullet points>

## Changes
- 變更 1
- 變更 2

## Test Plan
- [ ] 單元測試通過
- [ ] 手動測試完成

## Screenshots (if applicable)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

最小範例

用戶:提交這些變更
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 的協作

┌─────────────────────────────────────────────────────────────────┐
│  在工作流程中的位置                                             │
│                                                                 │
│  [實作] → [test-helper] → [code-reviewer] → [git-helper]       │
│                                                   ↓             │
│                                              commit & push      │
│                                                   ↓             │
│                                              建立 PR            │
└─────────────────────────────────────────────────────────────────┘

安全規則

┌─────────────────────────────────────────────────────────────────┐
│  ❌ 禁止:                                                      │
│     • 不更新 git config                                         │
│     • 不執行 force push                                         │
│     • 不執行 hard reset                                         │
│     • 不跳過 hooks (--no-verify)                                │
│                                                                 │
│  ✅ 必須:                                                      │
│     • 每次 commit 前確認變更內容                                │
│     • 包含 Co-Authored-By 標記                                  │
│     • 遵循 Conventional Commits 格式                            │
└─────────────────────────────────────────────────────────────────┘

設計原則

  1. 清晰歷史 - commit message 要有意義
  2. 小步提交 - 一個 commit 做一件事
  3. 可追溯 - 能從 commit 找到對應的需求
  4. 規範一致 - 團隊使用統一格式
  5. 安全優先 - 不執行危險操作

限制與邊界

  • 不執行 force push、hard reset 等危險操作
  • 需要用戶確認後才執行 commit
  • 複雜的 merge conflict 需要人工處理
  • 不自動推送到遠端(除非用戶明確要求)