ふりぶろぐ
Web Engineer's Blog
IntelliJ IDEA

コンフリクトを解消するならIntelliJ IDEA!

複数人で開発していると必ず起こるのがコンフリクト。

簡単なものであれば良いのですが、コンフリクト箇所が多くなってくると非常にわかりにくいですよね。

そこで、IntelliJ IDEAの機能を使って簡単に解消してしまおうという内容です。

非常に便利なので、いつかブログで紹介したいなと思っていた翌日、コンフリクトが起こりました。

ということで、まとめておきます。

あと、IntelliJ IDEAに限らず、他のIDEにも同じような機能があると思うので探してみると良いかも。

使い方

前提として、この機能はVCSのメニューにあるので、Intelli Jがgitとつながっていないと使えないかも?

つなげておくと便利なので、つないでいなかったらつないでみてください。

Resolve conflicts画面を開く

まずは画面を開くところから。

メニューのVCS→Git→Resolve conflictsを選択してください。

コンフリクトが起きていると、このボタンが活性化しているので押せるようになっています。

結構わかりにくい場所にあるので探してみてください。

修正するファイルを選択する

コンフリクトが起きているファイルが出てくるので、修正するファイルを選択してMargeをクリックしてください。(画像撮り忘れた。)

修正する

こんな画面が表示されます。

左がベースブランチ(マージされる側)、右がマージブランチ(マージする側)、中央がマージ結果となっています。

今回はfeature/used_onlyブランチにmasterブランチをマージしようとしています。

コンフリクト箇所は、行の変更は、行の追加は、行の削除はで表示してくれます。

行番号の右、または左に表示されているをクリックするとその修正は無効化され、>>をクリックすると追加されます。

青、緑、白で表示されているものは基本的に追加しておけば良いと思います。

赤で表示されている部分は左右の差分をよく見て、中央にマージする必要があります。

直接、中央のコードを修正することもできるので、左右の修正を汲み取って修正してください。

最後にApplyをクリックしたら修正完了です。

まとめ

普通にコンフリクトを修正すると、差分がわかりづらくて修正しにくいですが、このように比較して表示してくれると非常にわかりやすいですね。

コンフリクト解決したらバグってた、なんてこともあると思います。

ミスが起こりやすい部分なので、便利な機能に頼って修正したいですね。

やっぱりIntelliJは神。

ABOUT ME
りーふ
たまにブログを書いてるWebエンジニア。 サーバーサイドメインでインフラとフロントエンドもたまにやります。 Javaが得意。 Play Frameworkが好き。 本業は迷惑をかけない程度に手を抜くスタイル。 意識高い系は苦手。