我在我的里面.gitconfig
[merge]
tool = intellij
[mergetool "intellij"]
cmd = /usr/local/bin/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 mergetool
并获得 Intellij IDEA 的合并工具。
这样做的问题是因为我们从/usr/local/bin/idea
需要管理员权限执行。但是,如果我运行sudo git mergetool
IDEA,这次会运行,但是作为sudo,导致所有更改的文件都更改了权限,特别是更改了文件的所有权。此外,它在以 sudo 运行时不会加载特定于用户的配置。
解决方案是什么?