DEV Community

Nico Korthout
Nico Korthout

Posted on

3

IntelliJ-IDEA as git mergetool

The git mergetool command allows you to resolve merge conflicts from your command line. Many merge tools are available like vimdiff, which helps you resolve the conflicts without leaving your terminal. But of course, there are also merge tools available that open in a separate window to resolve the conflicts, like opendiff, meld, kdiff3, and many more. You can run git mergetool --tool-help to see which ones are available to you.

For Java devs, IntelliJ-IDEA's 3-way merge tool provides much more comfort compared to these other merge tools. One reason is syntax highlighting, but it also seems to understand the conflicts. Often it can merge the changes automatically. Yet, I've always found it a hassle to move between my terminal and IDE.

Today, all that changed when I discovered that it's possible to merge files from the command line. So, after reading the git manual in some more detail, I added the following to my git config (i.e. git config --global --edit):

[merge]
    tool = idea
[mergetool "idea"]
    cmd = idea merge $LOCAL $REMOTE $BASE $MERGED
    trustExitCode = false
Enter fullscreen mode Exit fullscreen mode

Now, when I run into conflicts, I type git mergetool and IntelliJ-IDEA opens a 3-way merge window. 🚀

Not on macOS?
The config above works for macOS, on another OS you need to adjust the configuration using the OS-specifics from the merge files from the command line documentation.

What are those *.orig files?
The merge tool creates some *.orig files that stay around after resolving the conflicts. These are backup files that can be safely removed after a successful merge, or used to undo your conflict resolution. You can control these backup files with mergetool.keepBackup.

I don't regularly blog, and I'm not a native English speaker. But, I hope you found this post useful. Please reach out, if you have any tips on how I could improve. Of course, I'd also love to hear about it if you liked my post.

Thanks for reading ❤️

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️