今回はgit diffについての記事です。
git diffの..(ドット2つ)と…(ドット3つ)の違いについて見ていきます。
ドット2つは
git diff branch_A..branch_B
のようなコマンドです。
ドット3つは
git diff branch_A...branch_B
のようなコマンドです。
ドット2つとドット3つの違いについて書いていきます!
git diffのドット2つについて
まずは、ドット2つについてです。
git diff branch_A..branch_B
これは以下のコマンドと同じとなります。
git diff branch_A branch_B
ブランチ間の差分を確認することができます。
上記の例では「branch_A」と「branch_B」の差分を確認できます。
詳しい挙動は以下の記事をご参照ください
git diffでブランチ間の差分を取得するーブランチを指定する順番について
git diff でブランチ間の差分をとるとき、ブランチの指定する順番により、取得できる差分が異なります。 基本的には「git diff {古いブランチ} {最新ブランチ} 」のようにブランチを指定して、差分を取ることにより、時系列的に正しい差分が取得できます。
次はドット3つについて記載します!
git diffのドット3つについて
ドット3つについて見ていきます。以下のようなコマンドです。
git diff branch_A...branch_B
git diff branch_A...branch_B
は、2つのブランチの一番近い共通の祖先(git merge-base branch_A branch_B)とbranch_B
の最新の変更と差分を表示します。
2つのブランチの一番近い共通の祖先とbranch_B
を比較しますので、ブランチを指定する順番が重要になってきますので、要注意です。
まとめ
基本はドット2つの以下のdiffを使い、
git diff branch_A..branch_B
コミット履歴が異なるなど、何らかの理由で差分が正しく出てこない場合にドット3つを使う感じかと思います。
git diff branch_A...branch_B