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

Ubuntu Git その252 - マージコンフリクトの状況を、ショートフォーマットで表示する(git status)

マージコンフリクトの状況を、ショートフォーマットで表示する

  「git status」コマンドは、「マージコンフリクト」発生時に実行すると、「マージコンフリクト」の状況を表示します。

  どのファイルで「マージコンフリクト」が発生しているのか、どのような「マージコンフリクト」が発生しているのか、確認することができます。

  ここでは、ショートフォーマットで「マージコンフリクト」の状況を表示します。

マージコンフリクトの発生と状況の確認

  ここでは例として、「マージコンフリクト」を発生させ、「マージコンフリクト」の状況を確認します。

  1.ブランチの確認

    現在のブランチ構成を確認すると、以下のようになっています。
    現在のブランチは、「master」ブランチであることが分かります。
    同様に、「HEAD」は「master」ブランチを指していることが分かります。


    ここでは例として、「master」ブランチに「fix」ブランチをマージします。

  2.ブランチの状態

    ブランチの状態を図にすると、以下のようになります。


  3.マージを行う

    以下のように「master」ブランチに「fix」ブランチをマージすると、「マージコンフリクト」が発生します。


    「マージコンフリクト」は、「common.txt」ファイルで発生したと出力されています。

  4.ワーキングディレクトリーの確認

    「ワーキングディレクトリー」を確認すると、以下のようになっています。


    「common.txt」ファイルは、「マージコンフリクト」が発生したファイルです。
    「fix.txt」ファイルは、「fix」ブランチにのみ存在していたファイルです。
    「master.txt」ファイルは、「master」ブランチにのみ存在しているファイルです。

  5.common.txtファイルの中身

    「マージコンフリクト」が発生した「common.txt」ファイルの中身を見てみると、以下のようになっています。
    コンフリクトが発生したか箇所に、「コンフリクトマーカー」が挿入されています。


  6.マージコンフリクトの状態

     「ワーキングディレクトリー」の状態を確認し、「マージコンフリクト」の状態を確認します。
    コマンドのオプションは、以下のオプションを指定します。

ショートオプション ロングオプション
-s --short

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「ワーキングディレクトリーにあるファイルの状態を表示するコマンドの説明」を参考にしてください。

    ポイントは、赤字の箇所です。

git status --short


    上記から、「fix.txt」ファイルは新規に追加されるファイルであることが分かります。
    「common.txt」ファイルは、「マージコンフリクト」が発生したファイルであることが分かります。

ファイルの状態の見方

  「git status」コマンドで表示されるファイルの状態の見方です。

  「マージコンフリクト」が発生していないファイルの状態の見方については、「ワーキングディレクトリーにあるファイルの状態を、ショートフォーマットで表示する」を参考にしてください。

  マージコンフリクトが発生したファイルのショートフォーマット  

    「マージコンフリクト」が発生したファイルは、以下のフォーマットで表示されます。

マージされるブランチの
ファイルの状態(HEAD)
マージするブランチの
ファイルの状態
ファイル名

    また、「マージコンフリクト」が発生したファイルは、「マージするブランチの
ファイルの状態」に表示される文字が、赤色の文字で表示されます。

  UU(both modified)

    「マージベース」にあるファイルと、マージされるブランチ(HEAD)にあるファイルと、マージするブランチにあるファイルを「3ウェイマージ」した結果、変更箇所がコンフリクトしているファイルです。

    「両方変更されている」の「両方」とは、マージされるブランチとマージするブランチのことを指します。

    ユーザーは、コンフリクトしている箇所を編集し、コンフリクトの解消を行います。

  AA(both added)

    マージされるブランチ(HEAD)にあるファイルと、マージするブランチにあるファイルをマージした結果、変更箇所がコンフリクトしているファイルです。

    「UU」と異なり、「マージベース」に同じファイルが存在しないケースです。

    ユーザーは、コンフリクトしている箇所を編集し、コンフリクトの解消を行います。

  UD(deleted by them)

    「マージベース」とマージされるブランチ(HEAD)に存在するファイルが、マージするブランチからは削除されているファイルです。

    ユーザーは、このファイルを削除するか、それとも削除せずファイルを残すか、判断します。

  DU(deleted by us)

    「マージベース」とマージするブランチに存在するファイルが、マージされるブランチ(HEAD)では削除されているファイルです。
    
    ユーザーは、このファイルを削除するか、それとも削除せずファイルを残すか、判断します。

  AU(added by us)

    マージされるブランチ(HEAD)にのみ存在するファイルです。
    「git merge」コマンドでマージする場合、このファイルは影響を受けません。

  UA(added by them)

    マージするブランチにのみ存在するファイルです。
    「git merge」コマンドでマージする場合、このファイルは自動的に「ステージングエリア」に追加されます。

  DD(both deleted)

    マージされるブランチ(HEAD)及び、マージするブランチから削除されたファイルです。    
    「git merge」コマンドでマージする場合、このファイルは自動的に削除されます。


Git
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 22.04 その79 - 画面ロックの有効・無効を設定するには・画面ロック時の設定をカスタマイズするには
    画面ロックの有効・無効を設定するには 一定時間ユーザーによる操作がない時に、自動的に画面をロックしパスワードで保護したり、画面をブランク状態にできます。
  • Ubuntu 22.04 その120 - UbuntuのブートローダーをBoot Repairで修復するには・Ubuntuが起動しないトラブルを解決
    UbuntuのブートローダーをBoot Repairで修復するには 「Boot Repair」はOSのブートローダーに起因するOSが起動しない問題を簡単に解決してくれるアプリです。
  • Ubuntu 22.04 その95 - ディスプレイサーバーを切り替えるには・XorgとWayland
    ディスプレイサーバーを切り替えるには 「Ubuntu」はデフォルトで2種類のディスプレイサーバーを提供しています。
  • Ubuntuのバージョンと開発コードの対応表
    UbuntuのバージョンとUbuntuの開発コード 「Ubuntu」には各バージョンごとに開発コードが設定されます。
  • Ubuntu nano その5 - 文字列を検索する
    文字列を検索する(Where Is)   文字列の検索は、部分一致と正規表現による検索が可能です。 検索の開始始点   現在カーソルのある位置から検索を行います。   もし、テキストの最後まで検索して文字が見つからない場合、   nanoはテキストの先頭から検索...
  • VirtualBox その125 - ゲストOSのUbuntuにLinux Guest Additionsをインストールするには
    ゲストOSのUbuntuにLinux Guest Additionsをインストールするには 仮想マシンにインストールしたゲストOSの「Ubuntu」に、「Linux Guest Additions」をインストールする方法です。
  • Linux その309 - This Week in Plasma の貢献者の募集と投稿頻度の抑制
    This Week in Plasma の貢献者の募集と投稿頻度の低下 KDE で This Week in Plasma の貢献者が募集されています。
  • Ubuntu 22.04 その99 - 日本語入力(Mozc)の設定をカスタマイズして作業効率を上げよう
    日本語入力(Mozc)の設定をカスタマイズするには 「Ubuntu」では日本語入力に「Mozc」を採用しています。
  • Ubuntu 22.04 その98 - 入力ソースとキーボートレイアウトと日本語入力のカスタマイズ
    入力ソースとキーボートレイアウトと日本語入力 「Ubuntu」ではユーザーが利用しているキーボードレイアウトや日本語入力のカスタマイズが可能です。
  • Ubuntu 22.04 LTSのインストール その5 - UEFI環境でパーティションの作成と構成 〜 ブートローダーのインストール先の選択
    UEFI環境でパーティションの作成と構成を行う UEFI環境でパーティションの作成と構成を行います。
記事のピックアップ
オプション