kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

Ours

  2つ以上のブランチをマージする時に使用できる「マージストラテジー」です。



  「Ours」は、ファイルのマージを行わず、「マージコミット」を行います。
  そのため、ファイルの構成や中身は変更されません。

  「マージコミット」で生成された「コミットオブジェクト」は、マージしたブランチの「ブランチヘッド」が指す「コミットオブジェクト」を「親コミットオブジェクト」に持ちます。

  Oursの利用

    上記の通り、「Ours」ではファイルのマージを行わないため、通常のマージとは意味が異なります。

    例えば、以下のブランチがあるとします。

  • ブランチ1(HEAD)
  • ブランチ2

    ユーザーは、「ブランチ2」で行った変更を、手動で「ブランチ1」に取り込んだとします。

    マージするブランチの変更内容をすでに手動で取り込んでいる場合、ブランチのマージを行う必要がありません。
    ですのでユーザーは、「ブランチ1」と「ブランチ2」をわざわざマージしたいとは思わないでしょう。

    しかし「コミットオブジェクト」の履歴には、マージしたブランチの情報は含まれていないため、「ブランチ2」との関係は履歴上存在しません。

    マージしたブランチの情報は、「マージコミット」で生成した「コミットオブジェクト」に含まれるためです。

    「Ours」は、すでに別のブランチで行った変更内容を取り込んでいるが、履歴上、そのブランチとの関係を結び付けたい時に使用します。

    「ブランチ1」と「ブランチ2」を「Ours」でマージすれば、「マージコミット」により「ブランチ1」と「ブランチ2」の関係を履歴上結びつけることができます。

    「ブランチ1」と「ブランチ2」を「Recursive」でマージした際、同様の結果になる場合でも、ファイルのマージが不必要なことが明らかならば、ファイルのマージを飛ばすことでマージにかかる時間を節約できます。

  ブランチの結びつけ

    上記の例は一例ですが、要は、ブランチとブランチの結び付きを履歴に残したい時に使用します。

    ですので、マージするブランチの変更内容を取り込む必要がなく、変更内容を取り込んではいないが、履歴上他のブランチとの結び付けを行いたい時にも利用できます。

  Oursによるマージの例

    「Oursマージストラテジー」を利用したマージの例は、「Oursマージストラテジーでマージを行う」を参考にしてください。


関連コンテンツ
同一カテゴリーの記事
コメント
オプション