GitHub ConflictファイルをVS Codeでマージ

Git
この記事は約3分で読めます。
記事内に広告が含まれています。

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

これです。もっと直感的にならんの。

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

VS Codeの3-Way表示
本記事について
  • VS Codeのインストールには触れます。
  • GitHub(Git)でConflict発生後のマージ対応に触れます。
VS Codeの各種機能にはほぼ触れないです。

以下、目次となります。

VS Codeのインストール

最初にGitクライアントをインストールしておく
Git - Downloads

→ 色々なオプションがありますが全てデフォルト値でのインストールで良いかと思います(環境によっては確認してましょう)

GitHub Desktopもインストールしておくと使いやすいかもしれません。GitHub Desktopから簡単にVS Codeを起動出来るため結構便利です。

◇ VS Codeのインストーラは以下サイトから取得します。

Download Visual Studio Code - Mac, Linux, Windows
Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio C...

インストール先は個人フォルダです(カスタマイズは出来なかったと思う)。
→ 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を使えなったけど、これは良い!とっても良い!

Merge Editorが起動できない

「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を導入している際にも対応しています。

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

コメント

Top
タイトルとURLをコピーしました