kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu Git その243 - Oursマージストラテジーとは(git merge)

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マージストラテジーでマージを行う」を参考にしてください。


Git
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Linux その422 - GNOME Boxes の再構築と未来・Flatpak のみの提供やモダンな機能の実装など
    GNOME Boxes の再構築と未来 GNOME Boxes の再構築と未来が以下で紹介されています。
  • Kubuntu その117 - Kubuntu 26.04 LTS にもっと手厚いサポートを・最高の信頼性を誇る KDE 搭載ディストリビューションを目指して
    最高の信頼性を誇る KDE 搭載ディストリビューションを目指して Kubuntu 26.04 LTS に手厚いサポートが導入されました。
  • Linux その421 - GNOME Shell のデザイン構想と長期的な見通し
    GNOME Shell のデザイン構想と長期的な見通し GNOME Shell のデザイン構想と長期的な見通しが、以下で紹介されています。
  • Linux その420 - KDE Plasma で実装予定の新機能や改善・UI レイアウトの調整やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Ubuntu 24.04 その96 - Ubuntu 24.04.5 LTS のリリース日変更
    Ubuntu 24.04.5 LTS のリリース日変更 Ubuntu 24.04.5 LTS のリリース日が変更されました。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
  • Windows その29 - Windows 向け Coreutils 登場・Coreutils のインストールやコマンドの一覧など
    Windows 向け Coreutils 登場 Windows 向け Coreutils が登場しました。
記事のピックアップ
オプション