Git マージコンフリクトを意図を保って解消するプロンプト

いつ使うか

long-lived feature ブランチを main に merge / rebase した時に大量のコンフリクトが発生。<<<<<<< を機械的に消すと両方の意図が消えてバグる。両ブランチの「変更の意図」を AI に再構成させて、論理的に正しい統合を作る時に使う。

プロンプト本文 (コピペして使う)

あなたは Git の熟練レビュアーです。以下のマージコンフリクトを「両ブランチの意図を保つ」観点で解消してください。

## コンフリクト情報
- 取り込み元 (--theirs): <例: feature/new-pricing ブランチ>
- 取り込み先 (--ours): <例: main ブランチ>
- 操作: <merge / rebase>
- ファイル: <例: src/services/pricing.ts>

## コンフリクトしているコード
```
<<<<<<< HEAD
<ours の内容>
=======
<theirs の内容>
>>>>>>> feature/xxx
```

## 各ブランチの直近コミットメッセージ
- ours 側の最新3コミット: <git log --oneline -3>
- theirs 側の最新3コミット:

## 解消方針 (この順で検討)
1. **意図の抽出** (ours と theirs それぞれが何を達成しようとしていたか、1行ずつ)
2. **意図の衝突レベル** (a: 同じ目的に対する別実装 / b: 別目的だがたまたま同じ箇所 / c: 機能の片方を捨てるべき)
3. **統合パターン**
   - 両方を活かす (順序や条件分岐で両立)
   - どちらかを採用しもう片方を別関数に逃がす
   - 両方破棄してリファクタ前提で書き直す
4. **副作用の確認** (型の互換、import の整合、テストの破綻、API シグネチャ変更)

## 出力
1. ours / theirs の意図抽出 (それぞれ1-2行)
2. 衝突レベル判定 (a/b/c) と根拠
3. **採用する統合コード** (コンフリクトマーカー削除済、コメント付き)
4. **採用理由と捨てた選択肢**
5. **追加で確認すべきこと** (関連ファイル / テスト / migration)
6. **コミットメッセージ提案** (Conventional Commits 形式)

## 制約
- どちらか片方を機械的に採用する解 (--ours / --theirs) は最終手段
- コメントで「<<<<<<<」「=======」を残さない
- 解消後の動作確認手順を必ず1つ提案 (テストコマンド or 手動確認)

効くポイント

  1. 「意図の抽出→衝突レベル判定」の順を踏ませると、片方破棄の事故が激減する
  2. 副作用の確認項目を要求すると、merge 後のビルド失敗を予防できる
  3. コミットメッセージまで提案させると、merge の意図が履歴に残って後追いが楽

関連プロンプト

よくある質問

merge ではなく rebase でコンフリクトが大量に起きた場合も使えますか?
使えます。プロンプトの『操作』欄に rebase と書き、コンフリクトしているコミットごとに同じフレームを適用してください。rebase は 1 コミットずつコンフリクトが出るため、各回で意図抽出を回すのは冗長に感じますが、long-lived ブランチを潰す時はむしろ rebase のほうが履歴がきれいに残ります。
コミットメッセージが雑すぎて意図が読み取れません
コミットメッセージが空に近い場合は、AI に「コミットメッセージから意図が読み取れない場合は、ours/theirs のコード差分そのものから意図を逆算してください」と追加指示すると、コードリーディングベースの意図抽出に切り替わります。これは PR の本文も併せて貼るとさらに精度が上がります。
両方の機能を残す統合パターンが本当に正しいか不安です
プロンプトの出力 5 (追加で確認すべきこと) に『関連ファイル / テスト / migration』を入れているのはこの不安を潰すためです。AI が出した統合コードを採用する前に、関連テストを実行し、両ブランチで追加されていたテストケースが両方通ることを確認するのが最も確実な検証です。
そもそも片方を破棄したほうが綺麗な場合の判定基準は?
衝突レベル判定で c (機能の片方を捨てるべき) になった場合は、AI に「破棄するブランチの開発に費やした工数」と「採用するブランチで再実装する場合のコスト」を比較してもらうと判断が早くなります。長くても 1-2 日で書き直せる量なら、無理に両方を残すより破棄して再実装したほうが履歴が綺麗です。

このプロンプトを実戦で使った所感や改善案があればぜひフィードバックを。姉妹サイト ai-pick.tech では AI x SNS集客の運用ノウハウを公開しています。