Claude Code × git でコミット・PR・並列開発を完全自動化する
Claude Codeのgit連携を使えば、コミットメッセージ生成・PR作成・GitHub Actionsによるレビュー自動化・git worktree並列開発まで、gitワークフロー全体をカバーできます。本記事ではコピペ即使えるコードサンプルとともに解説します。
前提環境
# GitHub CLIのインストール(Mac)
brew install gh
# 認証
gh auth login
# 確認
gh auth status
git --version
Claude Code(最新版)・git・gh CLIが揃っていることを確認してください。
コミットメッセージを自動生成する
git aicommitエイリアスを作る
~/.gitconfig に以下を追加すると、git aicommit でConventional Commits形式のメッセージを自動生成できます。
[alias]
aicommit = "!f() { \
msg=$(claude -p 'ステージングされた変更を確認して、Conventional Commits形式の日本語コミットメッセージを1行で出力してください。'); \
git commit -m \"$msg\"; \
}; f"
使い方は git add . してから git aicommit を実行するだけです。
CLAUDE.mdでConventional Commitsを強制する
プロジェクトルートの CLAUDE.md にルールを定義するとチーム全員に適用されます。
## コミットメッセージのルール
Conventional Commits形式で生成してください。
### 形式
種類(スコープ): 説明(日本語)
### 種類
- feat: 新機能, fix: バグ修正, docs: ドキュメント
- refactor: リファクタリング, test: テスト, chore: 設定変更
### 例
- feat(auth): JWTトークンによる認証機能を追加
- fix(api): ユーザー一覧取得時のnullポインタエラーを修正
HooksでClaude Code作業終了時に自動コミット
~/.claude/settings.json(またはプロジェクトの .claude/settings.json)に記述します。
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "python3 /path/to/auto-git-commit.py",
"timeout": 30
}
]
}
]
}
}
PRを自動作成する(gh CLI連携)
以下のスクリプトで、コミット履歴と差分からPRタイトル・本文を自動生成して gh pr create に渡します。
#!/bin/bash
# ai-pr-create.sh
BASE_BRANCH="${1:-main}"
PR_CONTENT=$(claude -p "
以下のgit情報をもとに、PRタイトルと本文をMarkdown形式で生成してください。
## コミット履歴
$(git log $BASE_BRANCH..HEAD --oneline)
## 差分サマリー
$(git diff $BASE_BRANCH --stat)
出力形式:
TITLE: [PRタイトル]
BODY:
[PR本文(変更内容・変更理由・確認事項)]
")
PR_TITLE=$(echo "$PR_CONTENT" | grep '^TITLE:' | sed 's/^TITLE: //')
PR_BODY=$(echo "$PR_CONTENT" | sed -n '/^BODY:/,$ p' | tail -n +2)
# --webでブラウザ確認後に送信
gh pr create \
--base "$BASE_BRANCH" \
--title "$PR_TITLE" \
--body "$PR_BODY" \
--web
--web フラグで送信前にブラウザで確認できます。
GitHub Actionsでissue→PR→レビューを完全自動化
IssueラベルをトリガーにPRを自動作成
name: Claude Code - Issue to PR
on:
issues:
types: [labeled]
jobs:
implement:
if: github.event.label.name == 'ready-for-implementation'
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Claude Code実装
uses: anthropics/claude-code-base-action@v1
with:
prompt: |
Issue #${{ github.event.issue.number }} の内容を実装してPRを作成してください。
Issue内容: ${{ github.event.issue.body }}
allowed_tools: "Bash,Write,Edit,mcp__github__create_pull_request"
timeout_minutes: "20"
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@claudeメンションでPRレビューを依頼
PRのコメントに @claude レビューして と書くだけでAIレビューが走るワークフローです。
name: Claude Code - PR Review
on:
issue_comment:
types: [created]
jobs:
review:
if: |
github.event.issue.pull_request &&
contains(github.event.comment.body, '@claude')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Claude Codeレビュー
uses: anthropics/claude-code-base-action@v1
with:
prompt: |
このPRをコードレビューしてください。
セキュリティ、パフォーマンス、可読性の観点でコメントしてください。
allowed_tools: "Bash,mcp__github__create_issue_comment"
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
git worktreeで並列開発を加速する
worktreeを使った並列作業
# featureブランチ用のworktreeを作成
git worktree add ../project-feature-auth -b feature/auth
# 別のworktreeを作成(bugfix)
git worktree add ../project-fix-login -b fix/login-bug
# 一覧確認
git worktree list
# 使い終わったworktreeを削除
git worktree remove ../project-feature-auth
Claude Codeには --worktree フラグも用意されており、claude --worktree feature-auth で起動するだけでworktreeが自動作成されます。
Subagent定義にisolation: worktreeを設定
.claude/agents/ 配下のエージェント定義に1行追加するだけで各Subagentが独立したworktreeで動作します。
---
name: 機能実装エージェント
isolation: worktree
---
## 役割
このエージェントは新機能の実装を担当します。
独立したworktree内で作業するため、他のエージェントと干渉しません。
チーム展開のポイント
- CLAUDE.mdをgit管理: プロジェクトルートに置けばチーム全員に自動適用される
- 最小権限の原則: GitHub ActionsのpermissionsブロックとallowedToolsで権限を制限する
- mainブランチへの直接pushは禁止: PRを経由させてforce pushやタグ操作は人間が判断する
さらに詳しく
この記事では技術的な手順を中心にまとめました。
実際の業務にどう組み込んでいるか、自作スキルとの組み合わせ、導入時のつまずきポイントなど、
より詳細な運用レビューは以下のブログ記事にまとめています。
Discussion