チュートリアル: IntellJ IDEA をデフォルトのコマンドラインマージツールとして使用する
IntelliJ IDEA は強力なコマンドラインマージツールとなり、バージョン管理ワークフローを改善します。
このチュートリアルでは、IntelliJ IDEA をデフォルトのコマンドラインマージツールとして設定し、開発ワークフローにシームレスに統合する方法について説明します。また、IDE 内で直接競合を解決する方法についても説明します。
コマンドラインからファイルをマージする方法の詳細については、コマンドラインからファイルをマージするを参照してください。
前提条件
このチュートリアルに従うには、最新の Git(英語) バージョンがインストールされていることを確認してください。
プロジェクトで .gitconfig ファイルを設定する
IntelliJ IDEA をデフォルトのマージツールとして使用する前に、.gitconfig を編集する必要があります。
ここで、マージ競合を解決するために Git がデフォルトで使用するツールを指定します。使用している実行可能ファイルへのパスと、競合が正常に解決されたことを示すマージツールが終了することを指定します。
Git のドキュメント(英語)から .gitconfig をカスタマイズする方法の詳細を参照してください。
.gitconfig を見つけて、オペレーティングシステムに基づいて次の構成を追加します。
IntelliJ IDEA を C:\Program Files\JetBrains\IntelliJ IDEA にインストールした場合は、次の構成を使用できます。
[merge] tool = intellij [mergetool "intellij"] cmd = 'C:/Program Files/JetBrains/IntelliJ IDEA/bin/idea64.exe' merge "$LOCAL" "$REMOTE" "$BASE" "$MERGED" trustExitCode = true [mergetool] keepBackup = falseMac OS の場合は次の構成を使用します。
[merge] tool = intellij [mergetool "intellij"] cmd = '/Applications/IntelliJ IDEA.app/Contents/macOS/idea' merge “$LOCAL” “$REMOTE” “$BASE” “$MERGED” trustExitCode = true [mergetool] keepBackup = falseIntelliJ IDEA を /opt/idea にインストールした場合は、次の設定を使用します。
[merge] tool = intellij [mergetool "intellij" cmd = '/opt/idea/bin/idea.sh' merge “$LOCAL” “$REMOTE” “$BASE” “$MERGED” trustExitCode = true [mergetool] keepBackup = falseデフォルトでは、Git は競合を解決する前にファイルの内容のコピーを保持します。マージ後、Git は競合タグが付いた元のファイルを
.orig
拡張子で保存します。変数keepBackup
をfalse
に設定すると、このファイルは保存されません。.gitconfig の編集を終了します。
マージ競合をトリガーする
IntelliJ IDEA が現在デフォルトのマージツールであるかどうかをテストするには、マージ競合を発生させます。これを行うには、単純な Java クラスを使用して新しいプロジェクトを作成します。
簡単な Java クラスを作成します。
次のサンプルコードを使用できます。
public class MyClass { public static void main(String[] args) { System.out.println("one"); System.out.println("two"); } }変更を master ブランチにコミットします。
master ブランチから新しいブランチをチェックしてください。これを feature1 と呼び、あなたの MyClass.java を変更します。
master ブランチをもう一度確認し、MyClass.java をもう一度変更します。
コマンドラインから feature1 を master にマージしてみます:
git merge feature1結合されていないファイルがあることを示す競合が発生します。
git mergetool
を実行します。IntelliJ IDEA が自動的に起動し、マージツールを開いて競合を解決します。
IntelliJ IDEA のマージ競合を解決する
IDE が開き、マージ競合が視覚的に表示されます。
3 者間マージダイアログで、変更を適用するペインを選択し、ガターの左を適用
または右を適用
を押します。
この例では、右側の feature1 ブランチからの変更を選択します。
適用をクリックします。
ターミナルでマージ競合を解決したファイルで
cat
コマンドを実行し、マージ結果を確認します。
IntelliJ IDEA をデフォルトのコマンドラインマージツールとして正常に構成し、IDE 内で競合を解決する方法を学習しました。