Tips & Tricks

Claude Codeでgitコンフリクトを秒速で解決するテクニック

マージコンフリクトの恐怖から解放。Claude Codeにコンフリクトの意図を理解させて、正しい解決を自動で行う方法を解説します。

チーム開発で最もストレスがかかる作業の一つがマージコンフリクトの解決です。Claude Code を使えば、コンフリクトの意図を理解した上で正しい解決を自動で行ってくれます。

1. コンフリクトをそのまま渡す

最もシンプルな方法です。コンフリクトが発生したら、Claude Code に丸ごと任せます。

git merge feature/auth
# CONFLICT が発生

claude -p "
git merge でコンフリクトが発生しました。
コンフリクトしているファイルをすべて確認して、
両方の変更を正しく統合してください。

方針:
- 両方の変更を活かす(片方を捨てない)
- 機能が壊れないようにテストも確認する
"

Claude Code はコンフリクトマーカー(<<<<<<<, =======, >>>>>>>)を読んで、両方の変更意図を理解した上で統合します。

2. 大量のコンフリクトを一括解決

長期ブランチをマージするとき、数十ファイルでコンフリクトが起きることがあります。

git merge main
# 30ファイルでコンフリクト発生

claude -p "
30ファイルでコンフリクトが発生しています。
git diff --name-only --diff-filter=U で対象ファイルを確認し、
すべてのコンフリクトを解決してください。

優先順位:
1. main ブランチの変更を基本とする
2. feature ブランチの新機能コードは保持する
3. 設定ファイルの変更は main を優先
4. テストファイルは両方のテストを残す

解決後、git add して git status で確認してください。
"

人間だと半日かかる30ファイルのコンフリクトも、数分で解決します。

3. rebase のコンフリクトを解決

rebase 中のコンフリクトは1コミットずつ解決する必要があり、特に面倒です。

git rebase main
# 3つのコミットでコンフリクト

claude -p "
rebase 中にコンフリクトが発生しました。
以下の手順で解決してください:

1. 現在のコンフリクトを解決
2. git add で解決済みファイルをステージ
3. git rebase --continue
4. 次のコンフリクトがあれば繰り返す
5. 全て完了するまで続ける

各コミットの意図を保持しつつ、main の変更と整合性を取ってください。
"

4. コンフリクトの原因を分析する

なぜコンフリクトが起きたのかを理解することも重要です。

claude -p "
以下のファイルでコンフリクトが起きた原因を分析してください:
- src/services/AuthService.ts
- src/middleware/auth.ts

git log --oneline --all -- src/services/AuthService.ts で
両ブランチの変更履歴を確認し、
どの変更が衝突しているか説明してください。
今後コンフリクトを防ぐための提案もお願いします。
"

5. package-lock.json のコンフリクト

package-lock.json のコンフリクトは手で直すのが不可能です。

claude -p "
package-lock.json でコンフリクトが発生しています。
以下の手順で解決してください:

1. 一旦どちらかの版を採用: git checkout --theirs package-lock.json
2. npm install を実行して再生成
3. git add package-lock.json

もし package.json にもコンフリクトがあれば、
先にそちらを解決してから npm install してください。
"

これは Claude Code でなくても定型手順ですが、毎回思い出すのが面倒なので任せると楽です。

6. Hooks で自動チェック

マージ後に自動でテストを走らせて、コンフリクト解決が正しかったか確認します。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash(git merge*)|Bash(git rebase*)",
        "hooks": [
          {
            "type": "command",
            "command": "npm test"
          }
        ]
      }
    ]
  }
}

マージ/rebase の後に自動でテストが走り、解決ミスがあればすぐ気づけます。Hooks ガイド を参照。

コンフリクトを防ぐ CLAUDE.md の書き方

そもそもコンフリクトを減らすために、CLAUDE.md にルールを明記します。

## ブランチ戦略
- feature ブランチは main から切る
- 1PR = 1機能(大きなPRは分割する)
- main への直接 push 禁止

## コンフリクトが起きやすいファイル
- src/config/routes.ts → 変更前に最新の main を pull する
- package.json → 依存追加は別PRで
- prisma/schema.prisma → スキーマ変更は1人ずつ

CLAUDE.md ベストプラクティスチーム開発ガイド も参考にしてください。

まとめ

  • コンフリクトはClaude Codeにそのまま渡せば秒速で解決
  • 大量のコンフリクトも一括処理可能
  • rebase のステップバイステップ解決も自動化
  • コンフリクトの原因分析と再発防止提案
  • package-lock.json の定型解決も任せる
  • Hooks でマージ後の自動テスト
  • CLAUDE.md でそもそもコンフリクトを減らす

コンフリクト解決は「怖い作業」から「Claude Codeに任せる3秒の作業」に変わります。公式ドキュメントは Anthropic Claude Code を参照。

#claude-code #git #コンフリクト #チーム開発

Claude Codeをもっと活用しませんか?

実務で使えるプロンプトテンプレート50選。コピペですぐ使えます。

無料プレゼント

無料PDF: Claude Code 5分でわかるチートシート

メールアドレスを登録するだけで、A4 1枚のチートシートPDFを今すぐお送りします。

個人情報は厳重に管理し、スパムは送りません。

Masa

この記事を書いた人

Masa

現役DX室長|Claude Code でゼロから多言語AI技術メディア運営中。実務直結の自動化、AI開発相談・研修受付中。

PR

関連書籍・参考図書

この記事のテーマに関連する書籍を楽天ブックスで探せます。

※ 当サイトは楽天市場のアフィリエイトプログラムに参加しています。上記リンクから商品をご購入いただくと、運営者に紹介料が支払われる場合があります。