我在我的.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的mergetool。
这样做的问题是,因为我们从/usr/local/bin/idea执行,所以需要管理员权限。但是,如果我运行sudo git mergetool IDEA,这一次将运行,但以sudo身份运行,导致所有更改的文件都更改了权限,特别是更改了文件的所有权。此外,当作为sudo运行时,它不会加载特定于用户的配置。
解决方案是什么?
发布于 2019-04-16 23:17:03
从/usr/local/bin/
执行的想法需要管理员权限
/usr/local/bin中可执行文件的典型权限是755,这意味着任何人都可以从那里运行可执行文件。(在Mac和Ubuntu 18/04上检查-权限相同)。
看起来系统上的配置有误,所以运行ide包装器需要sudo。
相应地检查和调整权限/usr/local/bin/idea。
https://stackoverflow.com/questions/55707115
复制相似问题