resolve-merge-conflicts について
Git のマージコンフリクトを、ファイル単位の簡潔な手順で解決するスキルです。補助スクリプトで状況を要約して解決を進め、検証前に競合の残存がないか確認します。
主な機能
- 01未解決ファイルの競合状況を要約
- 02単一ファイルの競合箇所を確認
- 03片側の採用または競合内容の編集
- 04競合マーカーと未解決パスの再確認
- 05解決結果の検証とステージング
活用シーン
- 01ファイル全体を開かずに競合を確認
- 02ファイルごとにマージ競合を解決
- 03テスト前に解決結果を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ warpdotdev/ common-skills --skill resolve-merge-conflictsインストール後、Claude Code で/resolve-merge-conflictsを入力して読み込まれたか確認します。
同梱ファイルscripts/extract_conflict_context.py
詳細
マージコンフリクトの解決
概要
コンパクトな表示だけでは不十分な場合を除き、ファイル全体を開かずにコンフリクトを解決します。まず概要を確認し、その後、コンフリクトが発生しているファイルを一度に1つずつ調べます。
ワークフロー
- まず概要を確認します。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py
概要を使って、未解決のファイル、存在するインデックスのステージ、各ファイルに含まれるテキストハンクの数を確認します。
- 1つのファイルを詳しく調べます。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --file path/to/file
ファイル全体を読む代わりに、こちらを使用してください。スクリプトは、周辺のコンテキスト、各ハンクの ours / base / theirs セクション、および ours と theirs の間の簡潔な統合差分のみを出力します。
- ファイルを解決します。
- 適切な場合は、
git checkout --ours -- path/to/fileまたはgit checkout --theirs -- path/to/fileで片方をそのまま採用します。 - それ以外の場合は、ファイルを直接編集してコンフリクトマーカーを削除します。
- 正しいマージを判断するのに簡潔な出力だけでは不十分な場合に限り、ファイルをさらに読み込みます。
- 未解決のファイルを再確認します。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py
git diff --name-only --diff-filter=U
- 解決結果を検証します。
- 未マージのパスが残っていないことを確認します。
- 解決済みファイルに
<<<<<<<、=======、>>>>>>>のマーカーが残っていないことを確認します。 - 変更した箇所に対して、対象を絞ったテスト、ビルド、またはリンターを実行します。
- 解決済みのファイルをステージングします。
コマンド
概要のみ
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py
1つのファイルの詳細表示
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --file path/to/file
コンフリクトが発生しているすべてのファイルの詳細表示
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --all
JSON 出力
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --file path/to/file --json
出力サイズの調整
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py \
--file path/to/file \
--context 3 \
--max-lines 60
注意事項
- コンフリクトが発生しているファイルを直接開く前に、スクリプトを使用してください。
- コンテキストを小さく保つため、ファイルは一度に1つずつ解決してください。
- マーカー形式のテキストコンフリクトと、add/add や modify/delete などのインデックスのみのコンフリクトの両方を想定してください。スクリプトはどちらも要約し、作業ツリー内のファイルにコンフリクトマーカーがない場合は、インデックスのステージのプレビューにフォールバックします。
コメント
Markdown 対応