追加・変更・削除が混ざる 2 ブランチ

A は app.js の変更・new.js の追加・old.txt の削除、B は app.js と README.md の変更・old.txt の削除をした、標準的な例です。

入力

A の git diff --name-status の出力

M	src/app.js
A	src/new.js
D	old.txt

B の git diff --name-status の出力

M	src/app.js
M	README.md
D	old.txt

結果

エラー 0 件・警告 0 件・情報 1 件

指摘(エラー・警告・情報)

  • 情報 全体 --name-status のファイル名と状態だけを比べています。同じファイルを両方で変えていても、変更の中身(行)が衝突するかは判定しません。
A の変更ファイル3 件
B の変更ファイル3 件
両方で同じ状態2 件
両方で状態が違う0 件
A のみ1 件
B のみ1 件

比較表

比較表
パスAB区分
README.md-M(変更)B のみ
old.txtD(削除)D(削除)両方で同じ状態
src/app.jsM(変更)M(変更)両方で同じ状態
src/new.jsA(追加)-A のみ

検算(この結果になる理由)

src/app.js は両方で M、old.txt は両方で D なので「両方で同じ状態」です。src/new.js は A だけ、README.md は B だけにあります。状態の文字が違う組み合わせはないので警告はありません。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

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

ほかの入力例