Conflict対応における「<<, ==, >>」表記ってなかなか慣れないです。

Visual Studio Code(VS Code)を使うと3-Way表示の「マージエディタ」を起動できるため便利でした!ご紹介していきます!


以下、目次となります。
VS Codeのインストール
→ 色々なオプションがありますが全てデフォルト値でのインストールで良いかと思います(環境によっては確認してましょう)
GitHub Desktopもインストールしておくと使いやすいかもしれません。GitHub Desktopから簡単にVS Codeを起動出来るため結構便利です。
◇ VS Codeのインストーラは以下サイトから取得します。

インストール先は個人フォルダです(カスタマイズは出来なかったと思う)。
→ C:\Users\user\AppData
VS Codeでマージ
VS Codeで「Conflictファイルが含まれるリポジトリ」を開きます。続けて、Conflictファイルを選択します(!が付いているファイルですね)。

ファイル右下に「Resolve in Merge Editor」というボタンがあるため、クリックします。
※ボタンが無い場合があります(後で触れます)。
次のように3-Wayのマージ画面が表示されました。
- 左上:相手の変更
- 右上:自分の変更
- 下部:マージ後の結果(初期表示は両者の変更の原点)

あとは意図するマージ結果になるように、最終的な変更をかけて「Complete Merge」ボタンを押せば、Conflict対応は完了です。
つまり、該当ファイルが更新され「git status」の結果はmodifiedになります。

GitHub DesktopでWinMergeを使えなったけど、これは良い!とっても良い!
「Resolve Merge Editor」ボタンが無い場合について触れておきます。
GitHub Desktopから該当ファイルをVS Codeで開いた場合、リポジトリ全体を表示できていないと起動できません。そのような開き方の場合、右下に、
A git repository was found in the parent folders of the workspace or the open file(s). Would you like to open the repository?(リポジトリ全体を開くかい?)
と親切に表示されるため「Yes」を選択すると良いでしょう。

最初、VS Codeで3 Way Merge出来ないじゃん・・・って少しはまりました。リポジトリ全体=過去の履歴も参照できないと表示出来ないんですね。
まとめ
VS Codeを利用するとConflict対応を3-Wayマージでわかりやすく対応可能です。
VS Codeはエディターとしてそれなりに使いやすいし、豊富な拡張機能もあるので入れておいて損はないでしょう。もしもGitHub Copilotを導入している際にも対応しています。

最後までご覧頂き、ありがとうございました!
コメント