Claude CodeでGit作業(commit / PR)を自動化する方法

Claude CodeでGit作業(commit / PR)を自動化する方法

Claude Codeを使うと、コード修正だけでなく、Gitの差分確認、commit作成、Pull Request作成まで効率化できます。この記事では、ローカル環境でのcommit自動化から、GitHub Actionsを使ったPR自動作成まで、実務で使いやすい手順をまとめます。

Claude CodeでGit作業を自動化できる範囲

Claude Codeは、プロジェクト内のファイルを読み取り、変更内容を確認し、Gitコマンドを実行しながら開発作業を進められます。

自動化しやすいGit作業は以下です。

差分の確認
変更内容の要約
不要な変更の検出
commitメッセージの作成
git addの対象選定
commit実行
ブランチ作成
Pull Request本文の作成
GitHub CLIを使ったPR作成
GitHub Actions経由のPR作成

ただし、本番ブランチへの直接pushや、レビューなしの自動マージは避けるべきです。Claude Codeは作業を高速化できますが、最終確認は人間が行う前提で運用するのが安全です。

事前に準備するもの

ローカルでcommitやPR作成まで自動化する場合は、Claude Codeに加えてGitとGitHub CLIを使える状態にしておくと便利です。

Gitがインストールされていること
GitHubリポジトリをclone済みであること
Claude Codeを利用できること
GitHub CLIがインストールされていること
gh auth loginでGitHub認証済みであること

GitHub CLIを使うと、ターミナルからPull Requestを作成できます。Claude Codeはそのコマンドを組み合わせて、PR本文の作成やPR作成操作まで進められます。

gh auth login
gh auth status

認証が完了していれば、Claude CodeからPR作成コマンドを実行しやすくなります。

ローカルでcommitを自動化する基本手順

まずは、Claude Codeに差分を確認させてcommitまで進める方法です。

作業中のリポジトリでClaude Codeを開き、以下のように依頼します。

現在のGit差分を確認してください。
変更内容を要約し、問題がなければ適切なcommitメッセージを作成してください。
commit対象に含めるべきファイルを判断し、commitまで実行してください。

Claude Codeは通常、git statusやgit diffを確認し、変更内容を把握します。そのうえで、commit対象のファイルを選び、commitメッセージを作成します。

より安全に使うなら、いきなりcommitさせずに、まず確認だけ依頼します。

現在のGit差分を確認して、commitに含めるべき変更と含めない方がよい変更を分けてください。
まだcommitは実行しないでください。

このようにすると、不要な一時ファイルやデバッグ用コードをcommitしてしまうリスクを減らせます。

commitメッセージを自動生成する

Claude Codeは、変更内容から自然なcommitメッセージを作るのが得意です。

たとえば、以下のように依頼できます。

git diffを確認して、Conventional Commits形式でcommitメッセージを作成してください。
日本語ではなく英語で、短く分かりやすくしてください。

出力例は以下のようになります。

fix: handle empty response in product API

Conventional Commitsを使う場合は、feat、fix、docs、refactor、test、choreなどのprefixを指定しておくと、履歴が読みやすくなります。

変更内容を確認して、以下の形式でcommitしてください。

形式:
type: summary

typeは feat / fix / docs / refactor / test / chore から選んでください。

チームでcommitルールがある場合は、CLAUDE.mdなどに書いておくと、毎回同じルールで作業しやすくなります。

ブランチ作成からcommitまで自動化する

実務では、mainブランチに直接commitせず、作業ブランチを作ってからcommitするのが一般的です。

Claude Codeには、以下のようにまとめて依頼できます。

現在のブランチを確認してください。
mainブランチであれば、feature/add-search-filter というブランチを作成してください。
その後、現在の変更内容を確認し、適切なcommitメッセージでcommitしてください。

バグ修正の場合は、ブランチ名もClaude Codeに考えさせることができます。

現在の変更内容に合うブランチ名を英語で作成してください。
ブランチを作成して、差分を確認し、問題がなければcommitしてください。

この方法なら、ブランチ名とcommitメッセージの命名を統一しやすくなります。

Pull Request本文を自動生成する

PR作成で面倒なのが、変更内容の説明や確認項目の記述です。Claude Codeに差分を読ませることで、PR本文を自動生成できます。

現在のブランチの変更内容を確認して、GitHub Pull Request用の本文を作成してください。
以下の形式にしてください。

## Summary
## Changes
## Test
## Notes

出力例は以下です。

## Summary
Added category filtering to the product list page.

## Changes
- Added category query parameter support
- Updated product list UI
- Added loading state during filtering

## Test
- Ran unit tests
- Confirmed category filter works locally

## Notes
No database migration is required.

PR本文には、実行したテストや未確認事項も入れるのが重要です。Claude Codeに「実際に実行したコマンドだけTestに書いてください」と指定すると、誤った確認内容を書きにくくなります。

GitHub CLIでPR作成まで自動化する

GitHub CLIが使える状態なら、Claude Codeからgh pr createを実行してPR作成まで進められます。

基本コマンドは以下です。

gh pr create --base main --head feature/add-search-filter --title "Add category filter" --body "..."

Claude Codeには以下のように依頼します。

現在のブランチをpushして、GitHub CLIでPull Requestを作成してください。
PRタイトルと本文は、git diffとcommit内容をもとに作成してください。
baseブランチはmainにしてください。
PR作成前に実行するコマンドを確認させてください。

安全性を高めるなら、「実行前にコマンドを提示してください」と指定します。

PRを作成するために必要なgitコマンドとghコマンドを提示してください。
まだ実行しないでください。
私が確認した後に実行します。

この運用なら、意図しないpushやPR作成を防げます。

GitHub ActionsでPR作成を自動化する

Claude CodeはGitHub Actionsとも連携できます。公式ドキュメントでは、IssueやPRで@claudeとメンションすることで、コード分析、機能実装、バグ修正、Pull Request作成などを行えるとされています。

GitHub Actionsを使うと、ローカル環境ではなくGitHub上でClaude Codeを実行できます。たとえば、Issueに実装内容を書き、@claudeに依頼すると、Claudeが変更を行い、PRを作成する流れを作れます。

基本的な使い方は以下です。

Issueを作成する
実装内容を書く
@claude をメンションして依頼する
Claudeがコードを変更する
Pull Requestが作成される
人間がレビューしてマージする

チーム開発では、ローカルでClaude Codeを使うよりも、GitHub Actions連携の方が履歴を追いやすくなります。誰が何を依頼したのか、どのIssueからPRが作られたのかが残るためです。

GitHub Actionsの設定例

Claude Code Actionを使う場合、GitHub Actionsのworkflowファイルを作成します。

例として、以下のようなファイルを用意します。

.github/workflows/claude.yml

設定例は以下です。

name: Claude Code

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]

jobs:
  claude:
    if: contains(github.event.comment.body, '@claude') || github.event_name == 'issues'
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Run Claude Code
        uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

APIキーはGitHubのSecretsに登録します。

ANTHROPIC_API_KEY

実際の設定は、利用している認証方式やリポジトリの権限によって変わります。まずは公式のclaude-code-actionのREADMEとClaude CodeのGitHub Actionsドキュメントを確認し、最小権限で始めるのが安全です。

IssueからPRを作成する依頼例

GitHub Actions連携ができたら、Issue上でClaudeに作業を依頼できます。

@claude
商品一覧ページにカテゴリ絞り込み機能を追加してください。

要件:
- 既存のUIに合わせる
- APIは /api/products?category=xxx を使う
- ローディング表示を追加する
- 既存テストがあれば更新する
- PRを作成する

バグ修正の場合は以下のように書きます。

@claude
ログイン画面で空のメールアドレスを送信すると500エラーになります。
原因を調査して修正してください。

要件:
- 適切なバリデーションを追加する
- エラーメッセージを表示する
- 関連するテストを追加する
- PR本文に修正内容とテスト結果を書く

依頼文には、目的、現象、期待する動作、制約、テスト条件を入れると精度が上がります。

PRレビューも自動化できる

Claude CodeはPR作成だけでなく、PRレビューの自動化にも使えます。Claude CodeのCode Review機能では、GitHub Pull Requestを解析し、ロジックエラー、セキュリティ上の問題、エッジケース、回帰リスクなどをコメントとして投稿できます。

ただし、AIレビューは人間のレビューを完全に置き換えるものではありません。AIは見落としを減らす補助として使い、設計判断や仕様確認は人間が行うべきです。

おすすめの運用は以下です。

Claude Codeで実装PRを作る
CIでテストを実行する
Claude Code Reviewで追加チェックする
人間が最終レビューする
問題なければマージする

この流れにすると、Git作業とレビュー作業のかなりの部分を効率化できます。

安全に自動化するための注意点

Git作業の自動化では、便利さよりも安全性を優先することが重要です。

特に注意したいのは、意図しないファイルのcommit、秘密情報の混入、不要な差分のpush、mainブランチへの直接反映です。

安全に使うためには、以下のルールを決めておくと効果的です。

mainブランチへ直接commitしない
commit前にgit diffを確認させる
PR作成前に実行コマンドを表示させる
.envや秘密鍵をcommit対象に含めない
自動マージは有効にしない
CIが通るまでマージしない
PRは必ず人間がレビューする

Claude Codeに以下のようなルールを伝えておくのも有効です。

以下のルールを必ず守ってください。

- mainブランチには直接commitしない
- commit前にgit statusとgit diffを確認する
- .env、秘密鍵、認証情報はcommitしない
- pushやPR作成の前に実行コマンドを提示する
- テストを実行できる場合は実行する

CLAUDE.mdにGit運用ルールを書く

毎回同じ指示を書くのが面倒な場合は、リポジトリにCLAUDE.mdを用意して、Git運用ルールを書いておくと便利です。

# Git Rules

- Do not commit directly to main.
- Always create a feature branch before making changes.
- Check git status and git diff before committing.
- Do not include .env files, secrets, or credentials.
- Use Conventional Commits.
- Before pushing, summarize the changes.
- Pull requests must include Summary, Changes, Test, and Notes.

Claude Codeはプロジェクトのルールを参照しながら作業できるため、commitメッセージやPR本文の品質を安定させやすくなります。

まとめ

Claude Codeを使えば、Gitの差分確認、commitメッセージ作成、commit実行、ブランチ作成、PR本文作成、Pull Request作成まで自動化できます。

ローカルではGitHub CLIと組み合わせることで、ターミナル上からPR作成まで進められます。GitHub Actionsを使えば、IssueやPR上で@claudeと依頼するだけで、実装からPR作成まで自動化できます。

ただし、Git作業の完全自動化はリスクもあります。特に、秘密情報の混入、不要な差分のcommit、mainブランチへの直接反映は避けるべきです。

最も安全で実用的なのは、Claude Codeに作業を進めてもらい、人間が差分とPRを確認してからマージする運用です。

Claude CodeはGit作業をなくすツールではなく、Git作業にかかる手間を大きく減らす開発エージェントとして使うのが現実的です。