Macos 使用IntelliJ作为git合并工具总是在启动时立即退出
我已经将IntelliJ配置为mac上的diff和mergetool,但git启动它时,命令行总是立即返回,而不是等待diff完成,这意味着所做的更改不会反映在磁盘上 我的配置是:Macos 使用IntelliJ作为git合并工具总是在启动时立即退出,macos,git,intellij-idea,mergetool,Macos,Git,Intellij Idea,Mergetool,我已经将IntelliJ配置为mac上的diff和mergetool,但git启动它时,命令行总是立即返回,而不是等待diff完成,这意味着所做的更改不会反映在磁盘上 我的配置是: [mergetool "intellij"] cmd = /Applications/IntelliJ\\ IDEA\\ 13\\ CE.app/Contents/MacOS/idea merge \ $(cd $(dirname \"$LOCAL\") && pwd)/$
[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不返回或生成新实例来执行此操作?没有办法。有三种变通方法:
[mergetool "idea"]
cmd = idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
trustExitCode = true
difftool也是如此
[difftool "idea"]
cmd = idea diff \"$LOCAL\" \"$REMOTE\"
(由于一个bug,如果您刚才创建了它并同时更新了Intellij,则可能必须执行此操作。)您确定
.gitconfig
文件中允许使用这些反斜杠终止符吗?