我已经在我的 mac 上将 IntelliJ 配置为我的 diff 和 mergetool,但是 git 启动它,命令行总是立即返回,而不是等待 diff 完成,这意味着执行的更改不会反映在磁盘上。
我的配置是:
[mergetool "intellij"]
cmd = /Applications/IntelliJ\\ IDEA\\ 13\\ CE.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
我已经在没有 git 的情况下手动测试调用 IntelliJ 并且它也立即返回,所以我不认为这是由 git 的调用引起的,而是 IntelliJ 命令行调用只是发送一条消息以打开窗口到现有正在运行的实例IntelliJ .. 是否有一个选项可以强制 IntelliJ 不返回或生成新实例以使其工作?