GitのマージをAIに任せられる時代が来ました。
git merge で競合が発生するたびに、内容を読んで、どちらの変更を優先するかを手作業で判断する。単純な競合でも、その都度集中を途切らせて解決するのは地味に疲れます。
GitWandは、トリビアルなマージ競合を自動で解決するオープンソースのネイティブGitクライアントです。v1.3からはAIがワークフロー全体を支援し、v2.8.1(2026年5月4日)が最新バージョンです。
この記事でわかること:
- GitWandの自動解決エンジンが扱える競合パターンと限界
- v1.3から搭載されたAIアシスト機能の全体像
- MCPサーバーをClaude CodeやCursorに接続する手順
- CLI・VS Code拡張でCI環境でも競合解決を自動化する方法
- 類似ツールとの設計上の違い
マージ競合のどこが問題か
マージ競合には2種類あります。ひとつは「どちらを採用すべきか人間が判断すべき」複雑な競合、もうひとつは「片方しか変更していない」「両方が全く同じ変更をした」といったトリビアルな競合です。
後者は内容を読めば答えが明らかなのに、エディタを開いて競合マーカーを目視確認し、手で修正してステージするという手順を踏む必要があります。チームで並行して開発していると、この作業が1日に何度も発生します。
GitWandのコアコンセプトは「人間の判断が不要な競合は機械が解決し、人間の判断が必要な競合だけを人間に渡す」という役割分担です。
自動解決エンジンの仕組み
GitWandの解決エンジン(@gitwand/core)は、競合ハンクを9種類のパターンに分類します。複雑と判定したハンクには一切手を加えません。
| パターン | 説明 | 信頼度 |
|---|---|---|
| same_change | 両ブランチが同じ変更をした | Certain |
| one_side_change | 片方だけが変更した | Certain |
| delete_no_change | 片方が削除し、もう片方は変更なし | Certain |
| non_overlapping | 異なる位置への追加 | High |
| whitespace_only | インデントや空白のみの差異 | High |
| reorder_only | 同じ行の順番だけが異なる | High |
| insertion_at_boundary | 両側が純粋な追記でベースが無変更 | High |
| value_only_change | バージョン番号や定数の更新 | Medium |
| complex | 両側が重複箇所を変更した — 自動解決しない | — |
各解決結果にはConfidenceScore(0〜100)が付与されます。型分類・データ損失リスク・変更範囲の3軸から算出されるため、CIパイプラインで「信頼度が低い解決はプルリクエストに含めない」といった判断基準を設けられます。
JSONやMarkdownなどの構造化ファイルには専用のセマンティックリゾルバが動きます。JSONはキー単位で再帰マージし、MarkdownはATX見出し(H1〜H6)単位でセクションを独立して処理します。
v1.3から広がったAIアシスト
v1.3「AI Everywhere」リリース以降、AIがGitワークフロー全体を支援します。主な機能は以下のとおりです。
コミット・ブランチ操作
– コミットメッセージの自動生成(差分から)
– ブランチ名の提案(差分または説明文から)
– スタッシュメッセージの生成
– セマンティックなスカッシュグループ化(インタラクティブリベース時)
プルリクエスト・レビュー
– コミット履歴からPRタイトルと説明文を生成
– ハンク単位のAIコードレビュー
– マージ前のリスクサマリー(競合予測・ホットスポット分析・変更範囲)
– 変更の静的AI提案(破壊的変更・マイグレーション漏れ・削除されたエクスポート)
検索・探索
– 自然言語によるコミットログ検索
– blame表示で「この行はなぜ変更されたか」を説明
AIプロバイダーはClaude・OpenAI互換API・Ollamaの3系統に対応し、設定画面から切り替えられます。
MCPサーバーでAIエージェントと連携する
GitWandはMCPサーバー(@gitwand/mcp)を同梱しており、Claude Code・Claude Desktop・Cursor・Windsurfから競合解決エンジンを呼び出せます。
Claude Codeへの追加は1行で完了します。
claude mcp add gitwand -- npx -y @gitwand/mcp
その他のMCPクライアントでは設定ファイルに以下を追加します。
{
"mcpServers": {
"gitwand": {
"command": "npx",
"args": ["-y", "@gitwand/mcp"]
}
}
}
MCPサーバーが提供するツールは5つです。
| ツール | 説明 |
|---|---|
| gitwand_status | 競合ファイルの一覧と複雑度を取得 |
| gitwand_resolve_conflicts | トリビアルな競合を自動解決しDecisionTraceを返す |
| gitwand_preview_merge | ファイルを変更せずに解決結果をシミュレート |
| gitwand_explain_hunk | 特定ハンクの分類理由と全トレースを説明 |
| gitwand_apply_resolution | LLMが判断した解決案を複雑ハンクに適用 |
設計上のポイントはgitwand_resolve_conflictsの戻り値にあります。自動解決できなかったハンクがpendingHunks配列として返され、ours/theirs/baseの内容と分類トレースがそのまま含まれます。LLMはこの情報をもとにgitwand_apply_resolutionで複雑ハンクを解決します。「GitWandがトリビアルを処理し、LLMが複雑を処理する」という役割分担がAPIレベルで設計されています。
Claude Code向けにはスラッシュコマンドも付属します。
/resolve # 競合解決の全ワークフローを実行
/preview # マージプレビューとリスク評価
CLIとVS Code拡張
デスクトップアプリ以外の環境でも競合解決エンジンを利用できます。
CLIはnpxで即座に使えます。
npx @gitwand/cli resolve # 競合ファイルをすべて解決
npx @gitwand/cli resolve --dry-run # 書き込まずにプレビュー
npx @gitwand/cli resolve --verbose # 詳細なDecisionTraceを表示
npx @gitwand/cli resolve --ci # JSON出力+セマンティック終了コード
CIモード(--ci)は構造化されたJSONを返します。autoResolvedとremainingの件数、各ハンクの信頼スコアと分類トレースが含まれるため、パイプライン内で「残存競合があれば中断」「信頼度が低い解決はレビュー待ちにする」といった判断ができます。
VS Code拡張はpackages/vscodeとして同梱されており、CodeLens・診断・ステータスバーの3機能を提供します。エディタ上で競合ハンクの横にアクション候補が表示され、クリックひとつで解決できます。
料金
GitWandはMITライセンスのオープンソースです。デスクトップアプリ・CLI・MCPサーバー・VS Code拡張のすべてが無料で使えます。AIアシスト機能を使うには、接続するAIプロバイダー(Claude・OpenAI等)のAPIキーが別途必要です。
類似ツールとの設計上の違い
GitKrakenやSourcetreeもGitのGUIクライアントですが、競合解決はエディタに委ねる設計です。マージツールを開くか外部エディタを呼び出すかで、自動解決の仕組みを持ちません。
VS Codeの組み込みGit機能も競合エディタを提供しますが、どちらを採用するかの判断はユーザーに任されます。
GitWandの差別化点は、解決エンジンのロジックが@gitwand/coreとして独立したパッケージになっている点です。デスクトップアプリ・CLI・MCPサーバー・VS Code拡張がすべて同じエンジンを呼び出すため、環境ごとに動作が変わりません。322件のテストで動作が保証されており、信頼度スコアで解決の根拠を確認できます。
MCPサポートを備えたネイティブGitクライアントとしては、現時点で数少ない選択肢のひとつです。
まとめ
GitWandは、トリビアルなマージ競合の自動解決を軸に、AIコミットメッセージ・PRレビュー・MCP連携まで備えたオープンソースのGitクライアントです。v2.8.1が2026年5月4日にリリースされています。
デスクトップアプリとして使うだけでなく、@gitwand/cliでCIに組み込んだり、@gitwand/mcpでClaude CodeやCursorのエージェントから呼び出したりと、使い方の幅が広いツールです。