Claude CodeでGit操作を自動化|コミット・PR作成の実例集
先に結論: 「コミットして」「PRを作って」と頼むだけで、diffと履歴からのメッセージ生成やgh CLI連携によるPR作成まで任せられます。ただしforce pushなどの破壊的操作は自分の判断を挟むべきです。
Claude Codeは「コミットして」と一言頼むだけで、変更内容(diff)と直近のコミット履歴を踏まえたコミットメッセージを自動生成してくれます。
gh CLIがインストールされていれば「PRを作って」と続けるだけでプルリクエストの作成まで一気に任せられ、コンフリクト解消やrebase、git log・git blameを使った調査もそのまま依頼できます。
本記事では実際の依頼文例と作業の流れ、安全に運用するための権限確認の考え方を紹介します。Claude Code全体の使い方は「Claude Codeの使い方完全ガイド」もあわせてご覧ください。
この記事の要点
- 「コミットして」と頼むだけで、git diff・git status・git logを踏まえたコミットメッセージを自動生成します。
- gh CLIがインストール・ログイン済みなら「PRを作って」でgh pr createによるプルリクエスト作成まで任せられます。
- gh pr createで作成したセッションはPR番号と紐づき、claude —from-pr 1234で該当セッションを呼び出して続きの作業ができます。
- git push —forceやgit reset —hardなどの破壊的操作はClaude Codeに直接依頼せず、内容を提示させたうえで自分で最終判断すべきです。
- claude —worktree feature-authのようにworktreeを使うと、複数の作業をファイル衝突なく並行して進められます。
前提・動作環境
対象はターミナル版のClaude Code(2026年8月時点の最新版)です。
Gitリポジトリ内でclaudeコマンドを起動して使う前提とし、PR作成を依頼する場合はGitHub公式CLIのghを事前にインストールし、gh auth loginでログインしておく必要があります。
git logやgit diffなどの読み取り系コマンドは比較的自動承認されやすい一方、git commitやgit pushのように状態を変える操作は原則として確認プロンプトが表示されます。
「コミットして」で差分と履歴からメッセージを生成
コードを編集したあと、ターミナルで次のように頼むだけで、Claude Codeはgit diffやgit status、直近のgit logを自分で実行し、変更内容に沿ったコミットメッセージを組み立てて提案してくれます。
commit with a descriptive message
日本語で「変更をコミットして」と頼んでも同様に動作します。実行前にはBashツールの使用許可を求める確認プロンプトが表示されるので、生成されたコミットメッセージとステージ対象のファイルを確認してから承認しましょう。
プロジェクトのコミットメッセージに癖がある場合は、CLAUDE.mdに「コミットメッセージはConventional Commits形式で書く」のようなルールを書いておくと、その規約に沿ったメッセージを生成してくれます。
gh CLIと連携してPR作成まで任せる
コミットが済んだら、続けて次のように依頼するとプルリクエストの作成まで任せられます。
create a pr
Claude Codeは変更差分を要約し、gh pr createコマンドを使ってタイトルと本文を含んだPRを作成します。「認証周りの変更点をもう少し詳しく書いて」のように依頼すれば、説明文だけを推敲することもできます。
gh pr createで作成したセッションはPR番号と自動的に紐付けられるため、後日claude --from-pr 1234のように番号を指定すれば、該当のセッションを呼び出して続きの作業ができます。
生成されたPRは提出前に必ず内容を確認し、「リスクや懸念点を挙げて」と追加で依頼するとより安全です。
コンフリクト解消・rebase・git log/blameでの調査を依頼する
マージコンフリクトが起きたときは、状況を伝えて解消方針ごと依頼できます。
mainをrebaseしたらsrc/api/auth.tsでコンフリクトが起きた。
両方の変更意図を確認して解消して
Claude Codeはコンフリクトマーカーの前後を読み、双方の変更意図を踏まえてマージを試みます。rebase自体も「featureブランチをmainにrebaseして」と頼めば、コンフリクトが出るたびに状況を報告しながら進めてくれます。
過去の経緯を調べたいときは、git logやgit blameを使った調査もそのまま依頼できます。
ExecutionFactoryのgit履歴を調べて、今のAPIになった経緯を要約して
調査対象のファイル数が多い場合は、メインの会話のコンテキストを圧迫しないよう「サブエージェントを使って認証まわりのコミット履歴を調査して」のように依頼すると、調査結果の要約だけが返ってきます。
サブエージェントの使い方は「サブエージェント活用術」で詳しく解説しています。
安全に使うための権限確認とworktreeの活用
git commitやgit pushのようにリポジトリの状態を変える操作は、原則としてBashツールの実行確認プロンプトが表示されます。
ここで実行内容(どのファイルをステージするか、どんなコマンドを実行するか)を確認してから承認するのが基本の運用です。
allowリストにBash(git commit *)のようなルールを登録しておけば毎回の確認は省けますが、Bash(git push *)やBash(git rebase *)はaskのままにしておき、実行のたびに内容を確認する運用がおすすめです。
権限ルールの詳しい設定方法は「権限管理入門」を参照してください。
複数の作業を並行して進めたい場合は、git worktreeを使った並行セッションが便利です。
claude --worktree feature-auth
別のターミナルで別名の--worktreeを指定すれば、それぞれ独立したブランチのチェックアウト上でClaude Codeを動かせるため、片方でバグ修正、もう片方で新機能開発といった作業をファイルの衝突なしに並行できます。
つまずきポイント/よくあるエラー
PR作成にはghコマンドのインストールとgh auth loginでの認証が必要です。済ませてから、もう一度お願いしてみてください。
- force pushやhard resetを依頼してしまう:
git push --forceやgit reset --hardのような破壊的操作は、履歴やコミット済みの変更を失うおそれがあります。Claude Codeに直接依頼するのは避け、必要な場合も内容を提示させたうえで自分で最終判断してから実行するようにしてください。 gh未インストールでPR作成が止まる:gh: command not foundのようなエラーが出た場合はghをインストールし、gh auth loginで認証を済ませてから再度依頼してください。- コミットメッセージが意図と違う: diffだけでは意図が伝わらないことがあります。「このコミットはパフォーマンス改善が目的」のように背景を一言添えると精度が上がります。
- rebase中に想定外のファイルまで変更される: rebaseやコンフリクト解消を依頼したら、
git diffやgit statusで影響範囲を確認してからコミット・pushの承認をするようにしてください。
よくある質問
コミットメッセージの文体やフォーマットは指定できますか?
CLAUDE.mdに希望のフォーマット(Conventional Commitsなど)や言語(日本語/英語)を書いておくと、以降のコミットメッセージ生成に反映されます。
PR作成には必ずgh CLIが必要ですか?
ghがなくてもGitHubのAPIを直接呼び出して動作することがありますが、未認証だとレート制限にかかりやすいため、ghのインストールとログインを済ませておくことを推奨します。
破壊的な操作を誤って承認しないためにはどうすればよいですか?
確認プロンプトが出たら、実行されるコマンドの内容を必ず読んでから承認する習慣が基本です。
加えてsettings.jsonのdenyルールにBash(git push --force *)のようなパターンを登録しておくと、誤承認そのものを防げます。
ハブネコのひとこと
force pushのような破壊的操作は、確認プロンプトの中身を読まずに承認してしまうと取り返しがつきません。allowリストに入れず、都度内容を確認する運用を選んでおくと安心です。
まとめ
Claude Codeは「コミットして」「PRを作って」と頼むだけで、diffと履歴を踏まえたコミットメッセージの生成からgh CLI連携によるPR作成まで一気に任せられます。
コンフリクト解消やrebase、git log/blameを使った調査も依頼でき、複数タスクを並行するならgit worktreeが役立ちます。ただし変更を伴う操作は確認プロンプトの内容を必ず確認し、force pushなどの破壊的操作は自分の判断を挟むようにしましょう。
Claude Code全体の使い方は「Claude Codeの使い方完全ガイド」、権限設定の詳細は「権限管理入門」、調査作業の効率化には「サブエージェント活用術」もあわせてご覧ください。
permissionsやSandbox、hooks、rewindと組み合わせた事故防止の全体像は「誤削除を防ぐ安全運用ガイド」で整理しています。
ぼくが「PRを作って」とお願いしたら、
gh: command not foundって止まってしまいました…!