Claude Code gitでコミット・PR・並列開発を自動化する完全ガイド【2026年】

スポンサーリンク
Claude Code git連携のワークフロー全体像を示すダークブルーのテクノロジーイメージ 生成AI

Claude Code git 連携を活用すれば、コミットメッセージを考える時間を丸ごとAIに任せられます。「変更内容は分かっているのに、適切なメッセージが思い浮かばない」という経験は、多くのエンジニアが抱える悩みです。この記事では、コミット自動生成からPR作成・GitHub Actions連携・git worktree並列開発まで、Claude Codeのgitワークフロー全体を一記事で解説します。読み終えればチームでもすぐに使える設定が整います。

関連記事: Claude Codeのインストール方法と初期設定ガイドもあわせてご覧ください。

スポンサーリンク

Claude Code git連携でできること【全体像】

筆者はもともと自作の /git-push スキル(Claude Codeのカスタムコマンド)を使ってgitコミット・pushを自動化していました。しかし、GitHubの公式プラグインやVSCodeの標準git連携だけでは「コミットメッセージの品質管理」「PR本文の自動生成」「worktreeを使った並列開発」が不十分だと感じていました。そこで、Claude Codeのgit連携機能を組み合わせることで、より体系的なワークフローを構築することにしました。

自然言語でgit操作できる仕組み

Claude Code git 連携の核心は、自然言語の指示をgitコマンドに変換できる点にあります。従来はターミナルで git diff を確認し、変更内容を頭の中でまとめてからコミットメッセージを書く必要がありました。Claude Codeを使うと、この一連の作業をAIが自動的に実行します。

具体的には、「今の変更をコミットして」と伝えるだけでClaude Codeがdiffを解析します。そのうえで適切なコミットメッセージを生成し、確認を経てコミットまで実行します。単純なコマンド補完ではなく、変更の意図を理解したうえでメッセージを生成する点が大きな特徴です。

Claude Code git連携のワークフロー全体像
Claude Codeがgitの各操作を自動化するワークフロー

コミット・PR・レビュー・並列開発のサポート範囲

Claude Codeがカバーするgitワークフローは以下の4領域です。

  • コミット自動化: /commitコマンドやHooksによる自動コミットメッセージ生成
  • PR作成: gh CLIと連携したプルリクエストのタイトル・本文自動生成
  • レビュー自動化: GitHub ActionsでIssue→PR→レビューの流れを自動化
  • 並列開発: git worktreeを使った複数ブランチの同時作業

これらを組み合わせることで、開発者は「何を作るか」という本質的な作業に集中できるようになります。出典: UPSIDER Techblog

前提環境:gh CLI・git・GitHub連携の確認

Claude Codeのgit連携を始める前に、以下の環境が整っているか確認してください。

  • Claude Code(最新版)がインストール済み
  • gitがインストール済み(git --version で確認)
  • GitHub CLI(gh)がインストール済み(gh --version で確認)
  • gh auth login でGitHubに認証済み
# GitHub CLIのインストール(Macの場合)
brew install gh

# 認証
gh auth login

# 認証状態の確認
gh auth status

コミットメッセージを自動生成する(/commitとHooks)

/commitコマンドの基本的な使い方

Claude Code コミット の最もシンプルな方法は、Claude Codeのチャット欄に直接指示を出す方法です。ステージングした変更に対して「コミットして」と伝えると、Claude Codeが差分を解析してメッセージを提案します。

さらに、claude -pオプションを使ったシェルスクリプトで、より自動化された運用が可能です。以下はその基本形です。

#!/bin/bash
# ai-commit.sh : Claude Codeでコミットメッセージを自動生成するスクリプト

# ステージング済みの差分を取得してClaudeに渡す
msg=$(claude -p "git diff --staged の内容を確認して、日本語1行コミットメッセージだけを出力してください。")

# 生成されたメッセージを確認してコミット
echo "生成されたメッセージ: $msg"
read -p "このメッセージでコミットしますか? [y/N] " confirm
if [ "$confirm" = "y" ]; then
  git commit -m "$msg"
fi

確認ステップを挟むことで、意図しないコミットを防げます。出典: Zenn

また、git aicommit エイリアスとして登録しておくと、日常的なgit操作に自然に溶け込みます。

# ~/.gitconfig に追加するエイリアス設定
[alias]
  aicommit = "!f() { \
    msg=$(claude -p 'ステージングされた変更を確認して、Conventional Commits形式の日本語コミットメッセージを1行で出力してください。'); \
    git commit -m \"$msg\"; \
  }; f"

設定後は git add . してから git aicommit を実行するだけです。出典: Qiita

Conventional Commits形式で生成させる設定

Conventional Commits とは、コミットメッセージを「種類(スコープ): 説明」の形式で統一する規約です。例えば feat(auth): ログイン機能を追加fix(api): レスポンスのnullチェックを修正 のように書きます。この形式を守ることで、CHANGELOGの自動生成やsemantic versioningが容易になります。

Claude Codeに Conventional Commits 形式を守らせるには、CLAUDE.md に指示を記述するのが最も確実です。以下はその設定例です。

# CLAUDE.md(プロジェクトルートに配置)

## コミットメッセージのルール

コミットメッセージは必ずConventional Commits形式で生成してください。

### 形式
種類(スコープ): 説明(日本語)

### 種類の一覧
- feat: 新機能の追加
- fix: バグ修正
- docs: ドキュメントのみの変更
- style: コードの意味に影響しない変更(空白、フォーマット等)
- refactor: バグ修正でも機能追加でもないコード変更
- test: テストの追加・修正
- chore: ビルドプロセスや補助ツールの変更

### 例
- feat(auth): JWTトークンによる認証機能を追加
- fix(api): ユーザー一覧取得時のnullポインタエラーを修正
- docs(readme): セットアップ手順を更新

### 禁止事項
- 50文字を超えるコミットメッセージは作らない
- 本文なしで1行に収める

この設定をリポジトリの CLAUDE.md に記述しておけば、チーム全員が同じルールでコミットメッセージを生成できます。

HooksでPreCommit時に自動生成する仕組みを作る

Claude Code には「Hooks」機能があります。これは、特定のタイミング(作業終了時、ファイル保存時など)に自動でスクリプトを実行できる仕組みです。Hooksを使うと、Claude Codeの作業が終わった瞬間に自動でコミットを実行させられます。

設定は ~/.claude/settings.json に以下のように記述します。

{
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "python3 /path/to/auto-git-commit.py",
            "timeout": 30
          }
        ]
      }
    ]
  }
}

また、環境変数で動作を細かく制御できます。

  • CLAUDE_CODE_AUTO_PUSH=1: コミット後に自動プッシュを有効化
  • CLAUDE_CODE_COMMIT_LANGUAGE='日本語': メッセージ言語を日本語に指定

なお、Hooksはプロジェクトごとの設定ファイル(.claude/settings.json)でも定義できます。そのためチーム共通のHooks設定をリポジトリに含めることも可能です。出典: Zenn

プルリクエストを自動作成する(gh CLI連携)

gh CLIとClaude Codeの組み合わせ基本

Claude Code PR 作成の鍵は、GitHub CLI(gh)との組み合わせです。gh pr create コマンドはPRのタイトルと本文を引数で渡せます。そのため、Claude Codeがコミット履歴と差分からPR内容を生成して gh コマンドに渡す、という流れが実現できます。

UPSIDER社の事例では、カスタムスラッシュコマンドを使って「ブランチ作成→コミット→プッシュ→PR作成」の4ステップを単一コマンドで自動化しています。これにより「プルリク本文をゼロから書く」という心理的ハードルが「生成版を修正するだけ」に変わったとのことです。出典: UPSIDER Techblog

PR本文・タイトルをAIが自動生成する手順

以下は、Claude Codeを使ったPR自動作成の実装例です。

#!/bin/bash
# ai-pr-create.sh : Claude CodeでPRを自動生成するスクリプト

BASE_BRANCH="${1:-main}"

# コミット履歴と差分をまとめてClaudeに渡す
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)

# PRを作成(--webフラグで送信前にブラウザ確認可能)
gh pr create \
  --base "$BASE_BRANCH" \
  --title "$PR_TITLE" \
  --body "$PR_BODY" \
  --web

--web フラグをつけると、ブラウザでPR内容を確認してから送信できます。そのため、誤ったPRを送信するリスクを防げます。出典: Qiita

PRテンプレートをCLAUDE.mdに定義して品質を統一する

PR本文の品質をチームで統一するには、CLAUDE.md にPRテンプレートを定義する方法が効果的です。以下はその設定例です。

# CLAUDE.md

## PRテンプレートのルール

PRを作成する際は、必ず以下の構成で本文を生成してください。

### 変更内容
- 何を変更したかを箇条書きで記述する

### 変更理由
- なぜこの変更が必要だったかを説明する

### 動作確認
- どのような確認を行ったかを記述する
- テストの実行結果を含める

### 関連Issue
- 関連するIssue番号を記述する(例: closes #123)

### スクリーンショット(UI変更がある場合)
- Before/After の画像を添付する

このテンプレートをリポジトリの CLAUDE.md に記述しておくと、Claude Codeがそれを参照してPR本文を生成します。加えて、GitHub の .github/PULL_REQUEST_TEMPLATE.md と組み合わせることで、手動作成時にも同じ構造を強制できます。

Claude Code git worktreeとPR自動化のフロー図
コミットからPR作成・レビューまでのClaude Code自動化フロー

GitHub Actionsでissue→PR→レビューを完全自動化する

Claude Code GitHub Actionsとは

Claude Code GitHub連携 の最上位の活用形が、GitHub Actionsとの統合です。Anthropicは公式の「Claude Code Base Action」を提供しており、これをGitHub Actionsのワークフローに組み込むことで、Issueのラベル付けをトリガーに自動でコードを実装・PR作成・レビューまで実行できます。

この機能により、開発者がIssueを作成してラベルを貼るだけで、残りの実装作業をClaude Codeが代行します。特に定型的な実装(CRUDのAPI追加、テストコードの生成など)に威力を発揮します。出典: DevelopersIO

Issueをトリガーに自動でPRを作成するワークフロー設定

以下は、IssueにラベルをつけるとClaude CodeがPRを自動作成するGitHub Actionsの設定例です。

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 }}

重要な設定ポイントは3つです。まず permissions で必要な権限(contents・pull-requests・issues)を明示的に付与します。次に allowed_tools でClaude Codeが使えるツールを制限します。そして timeout_minutes で実行時間の上限を設けます。出典: DevelopersIO

@claudeメンションでPRレビューを依頼する方法

GitHub ActionsとClaude Codeを連携させると、PRのコメントで @claude レビューして と書くだけでAIレビューが走ります。レビュー結果はPRのコメントとして自動で投稿されます。

レビュー依頼用のワークフローは、issue_comment イベントをトリガーにして実装します。コメント本文に @claude が含まれている場合のみ動作するよう条件分岐を加えます。

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 }}

関連記事: Claude Codeのサブエージェント活用術【並列処理で開発を加速】もあわせてご覧ください。

git worktreeで並列開発を加速する

Claude Codeがgit worktreeをネイティブサポートする理由

git worktree とは、1つのリポジトリを複数のディレクトリで同時にチェックアウトできるgitの機能です。Claude Code はバージョン v2.1.49〜v2.1.50 からworktreeをネイティブサポートしており、コマンドラインフラグ・Desktopアプリ・Subagent定義の3つのレイヤーで利用できます。

なぜworktreeが重要かというと、Claude Codeが複数のSubagentを並列実行する際に、同じファイルを同時編集する競合が発生するからです。worktreeを使うと各Subagentが独立した作業ディレクトリを持てるため、並列実行が安全になります。出典: Zenn

worktreeを使った複数ブランチ並列作業の手順

Claude Code でworktreeを使う最も簡単な方法は、--worktree フラグです。以下のように実行すると、feature-auth という名前のworktreeが自動作成されます。

# worktreeを指定してClaude Codeを起動
claude --worktree feature-auth

# 別のターミナルで別のworktreeを起動(並列作業)
claude --worktree fix-login-bug

git worktree を手動で作成する従来の手順も確認しておきましょう。

# featureブランチ用のworktreeを作成
git worktree add ../project-feature-auth -b feature/auth

# bugfixブランチ用のworktreeを別ディレクトリに作成
git worktree add ../project-fix-login -b fix/login-bug

# worktreeの一覧を確認
git worktree list

# 使い終わったworktreeを削除
git worktree remove ../project-feature-auth

worktreeが向いているユースケースは、機能開発とバグ修正の同時進行・大規模マイグレーションの並列処理・同じ仕様の複数実装比較(A/Bテスト的活用)などです。一方で、逐次処理が必要なタスクや共通ファイルを頻繁に編集するケースには向きません。出典: Zenn

エージェント定義にworktreeを組み込む設定例

Claude CodeのSubagent定義ファイルに isolation: worktree を指定すると、各Subagentが独立したworktree内で動作します。以下はその設定例です。

# .claude/agents/feature-agent.md

---
name: 機能実装エージェント
isolation: worktree
---

## 役割
このエージェントは新機能の実装を担当します。
独立したworktree内で作業するため、他のエージェントと干渉しません。

## 作業完了時のルール
- 作業が終わったら必ずConventional Commits形式でコミットしてください
- PRの作成は行わず、ブランチをpushするだけにしてください

また、CLAUDE.md にworktreeのブランチ命名規則を定義しておくと、複数エージェントが並列作業した場合もブランチが整理された状態に保たれます。

# CLAUDE.md

## worktreeのブランチ命名規則

worktreeを作成する際は、以下の命名規則に従ってください。

- 機能追加: feature/{機能名}
- バグ修正: fix/{バグ内容}
- リファクタリング: refactor/{対象}
- ドキュメント: docs/{対象}

例:
- feature/user-authentication
- fix/login-null-pointer
- refactor/api-response-format

関連記事: パーソナライズとCLAUDE.mdの使い分け完全ガイドもあわせてご覧ください。

チーム開発でClaude Codeを使うベストプラクティス

チーム共有のCLAUDE.mdをリポジトリに置くメリット

プロジェクトのルートディレクトリに CLAUDE.md を配置し、gitで管理することで、チーム全員が同じルールのもとでClaude Codeを利用できます。個人の設定ではなくリポジトリの設定として管理されるため、新規メンバーが参加した場合も自動的に同じ設定が適用されます。

チーム共有 CLAUDE.md に記述すべき主な内容は以下のとおりです。

  • プロジェクト概要とアーキテクチャの説明
  • コミットメッセージの形式(Conventional Commits等)
  • PRテンプレートと必須記載事項
  • コーディング規約(命名規則、コメント形式など)
  • テストの実行方法と合格基準
  • worktreeのブランチ命名規則

コミットルール・PRルールをAIに守らせるプロンプト設計

AIにルールを守らせるためには、ルールを具体的かつ検証可能な形式で記述することが重要です。「良いコミットメッセージを書いてください」という抽象的な指示より、「feat(auth): ユーザー認証機能を追加 のような形式で書いてください」という具体的な例示のほうが効果的です。

以下は、AIがルールを遵守しやすいプロンプト設計のポイントです。

  • 形式を例示する: 抽象的な説明より具体的なサンプルを示す
  • 禁止事項を明記する: 「〜しない」という制約を明確にする
  • チェックリストを使う: コミット前・PR作成前に確認すべき項目を列挙する
  • 自動検証を組み込む: commitlintなどのツールをHooksと組み合わせて機械的に検証する

セキュリティ:AIに渡すgit権限の範囲を決める

Claude Codeにgit操作を任せる際は、権限の範囲を明確に制限することが重要です。特にGitHub Actionsでは、permissions ブロックで必要な権限だけを付与する「最小権限の原則」を徹底します。

また、以下の操作はClaude Codeに任せず、人間が判断すべきです。

  • mainブランチへの直接push: 必ずPRを経由させる
  • force push: 履歴を書き換える操作は人間が承認する
  • タグの付与・削除: バージョン管理は人間が行う
  • シークレット・認証情報の変更: セキュリティに関わる操作は除外する

GitHub Actionsの場合は、allowed_tools で使用可能なツールを明示的に列挙することで、Claude Codeの行動範囲を制限できます。これにより、想定外の操作が実行されるリスクを最小化できます。

あわせて読みたいおすすめ書籍

Claude Codeを使ったgitワークフロー自動化をさらに深く理解するために、Gitの実践的な使い方とGitHub Actionsによる自動化を体系的に学べる書籍をご紹介します。

まとめ

この記事では、Claude Code を使ったgitワークフローの自動化を体系的に解説しました。主なポイントを整理します。

  • コミット自動化: claude -p を使ったシェルスクリプトや、Hooksによる自動コミットで、メッセージ生成の手間を排除できる
  • Conventional Commits: CLAUDE.md にルールを定義することで、チーム全員が統一した形式でコミットメッセージを生成できる
  • PR自動作成: gh CLIとClaude Codeを組み合わせることで、コミット履歴からPRタイトルと本文を自動生成できる
  • GitHub Actions連携: IssueにラベルをつけるだけでClaude Codeが実装・PR作成・レビューを代行する自動化パイプラインを構築できる
  • git worktree: --worktree フラグや isolation: worktree 設定で、複数ブランチの並列開発を安全に実現できる
  • チーム展開: CLAUDE.md をリポジトリで管理し、コミット・PRルールを定義することで組織全体に展開できる

筆者が自作の /git-push スキルで感じていた「コミットメッセージの品質管理」「PR本文の自動生成」「worktree並列開発」という3つの課題は、この記事で紹介した設定を組み合わせることで解決できます。まずは CLAUDE.md にコミットルールを記述するところから始めてみてください。

関連記事: Claude Code 始め方【2026年】初心者が最初にやること5選もあわせてご覧ください。

引用・出典

とつ

某SIer企業勤務。
生成AI(ChatGPT、Claude、Gemini)に強い関心を抱き、業務に積極的に活用している。本アカウントでは、最新技術の実践例と活用法を発信する。
また、仕事以外では家事育児やヘルスケアにおいても、生成AIの可能性を模索し、日常生活での利活用に努める。

老け顔から「とっつあん」とあだ名で呼ばれ、それが「とつ」といつしか略されるようになったのがハンドルネームの由来。
「リベラルアーツ大学」をきっかけに、稼ぐ力を養いたいという思いからBlogサイトの運営を開始し、Blogの成長とともにAWSのスキルアップにも注力している。
家族は妻と7歳長男、3歳次男。

とつをフォローする
生成AI
スポンサーリンク
シェアする
とつをフォローする

コメント

タイトルとURLをコピーしました