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

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

  「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」コマンドでマージする場合、このファイルは自動的に削除されます。


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