The merge tool that ships with JetBrain's IntelliJ IDEA or WebStorm is really awesome and way better than FileMerge. It is quite simple to configure SourceTree to use it as the default mergetool:
-
Open the SourceTree preferences and select the
Difftab -
Choose
Customboth asVisual Diff Tooland asMerge Tool -
Paste the following commands into the textfields:
-
Diff Command:
/Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea diff- Arguments:
$(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE")
- Arguments:
-
Merge Command:
/Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea merge- Arguments:
$(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")
- Arguments:
-
-
Close the settings. Happy merging!
To manually change the mergetool for git in general follow these steps:
-
Open the
~/.gitconfigfile with your favorite editor -
Add these lines somewhere in the config:
[merge] tool = intellij [difftool "intellij"] cmd = /Applications/IntelliJ\\ IDEA.app/Contents/MacOS/idea diff $(cd $(dirname \"$LOCAL\") && pwd)/$(basename \"$LOCAL\") $(cd $(dirname \"$REMOTE\") && pwd)/$(basename \"$REMOTE\") [mergetool "intellij"] cmd = /Applications/IntelliJ\\ IDEA.app/Contents/MacOS/idea merge $(cd $(dirname \"$LOCAL\") && pwd)/$(basename \"$LOCAL\") $(cd $(dirname \"$REMOTE\") && pwd)/$(basename \"$REMOTE\") $(cd $(dirname \"$BASE\") && pwd)/$(basename \"$BASE\") $(cd $(dirname \"$MERGED\") && pwd)/$(basename \"$MERGED\") trustExitCode = true
It takes a few more seconds to launch the IntelliJ merge tool than to launch FileMerge, but it is definitely worth waiting.
Based on this article on coderwall: https://coderwall.com/p/gc_hqw/use-intellij-or-webstorm-as-your-git-diff-tool-even-on-windows
I found the
.gitconfigandgit difftool --dir-diffsolution at https://youtrack.jetbrains.com/issue/IDEA-284927#focus=Comments-27-5653070.0-0 was effective for me on Big Sur with a JetBrains Toolbox installation of IntelliJ Idea. This doesn't rely on the command line aliases for IntelliJ Idea being installed or working properly..gitconfig
Example invocation