仕様と根拠

読み取る形式

git diff --name-status は、各ファイルを「状態の文字、タブ、パス」の行で出力します。状態は A(追加)・C(コピー)・D(削除)・M(変更)・R(名前変更)・T(種類変更)・U(未マージ)・X(不明)で、C と R は類似度のスコアが続き、旧パスと新パスがタブで区切られます。この道具はこの形を読んで、パスをキーに 2 つを突き合わせます。

突き合わせ方

名前変更とコピーは新しい側のパスをキーにします。同じパスが両方にあれば、状態が同じか違うかを見て「両方で同じ状態」「両方で変更・状態が違う」に分け、片方だけにあるものは A のみ・B のみとします。状態の文字が違う組み合わせ(片方が削除、もう片方が変更など)は、統合で衝突しやすいので警告します。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
git-diff ドキュメント(--name-status・raw 出力形式)2026年10月29日状態文字 A/C/D/M/R/T/U/X。C・R はスコア付きで旧パス・新パスがタブ区切り。--name-status の行例そのものはページになく、raw 形式の記述からの解釈。WebFetch で確認

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • この比較は衝突の見当をつけるためのものです。実際の衝突はマージしてみないと分かりません。
  • ブランチ名・ファイル名は端末の外へ送信されませんが、貼り付ける画面の取り扱いには注意してください。