コンフリクトマーカーのスタイルを指定して、マージコンフリクト発生時のファイルをチェックアウトする
「コンフリクトマーカー」のスタイルを指定して、「マージコンフリクト」発生時のファイルをチェックアウトします。マージコンフリクト発生時のファイルの「チェックアウト」は、指定したファイルに対して再度3ウェイマージを実行するのと同じです。
再度マージ作業をやり直すことができます。
コンフリクトマーカーのスタイル
コンフリクトマーカーのスタイルには、以下の2種類があります。merge
デフォルトのスタイルです。「コンフリクトマーカー」のスタイルを指定しない場合、このスタイルが使用されます。
diff3
diff3スタイルです。コマンドの実行例
ここでは例として、「diff3」スタイルを指定し、「マージコンフリクト」発生時のファイルをチェックアウトします。1.マージコンフリクトの状況
ここで例として使用するマージコンフリクトの状況は、「マージコンフリクトが発生しているファイルを除いて、ステージングエリアから特定のファイルをワーキングディレクトリーに展開する」の「マージコンフリクトの状況」と同じです。「マージコンフリクト」が発生しているファイルは、「test.txt」ファイルです。
「test.txt」ファイルの中身は、以下のようになっています。
2.ワーキングディレクトリーの確認
ここでは例として、「ワーキングディレクトリー」内の「test.txt」ファイルを削除しました。3.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。オプション | オプションの値 |
---|---|
--conflict= |
|
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「スナップショットから、特定のプロジェクトのファイルをワーキングディレクトリーに展開するコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git checkout --conflict=diff3 test.txt
4.コマンドの実行結果
問題がなければ、特にメッセージは表示されません。5.ワーキングディレクトリーの確認
「ワーキングディレクトリー」を確認すると、以下のように「test.txt」ファイルが「チェックアウト」されています。「test.txt」ファイルの中身は、以下のようになっています。
「コンフリクトマーカー」のスタイルが、「diff3」スタイルになっています。