git diffのドットの意味するものー「..(ドット2つ)」と「…(ドット3つ)」の違い

今回は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