IntelliJ IDEA - 如何从命令行触发 Git 冲突解决

Ond*_*žka 6 git command-line intellij-idea git-merge-conflict

我主要通过命令行使用 git,但为了解决冲突,我更喜欢 IDE。特别是 IntelliJ IDEA。

目前我尝试重新设置基准,并看到冲突。所以我需要进入IDEA并点击“VCS -> Git ->解决冲突”。然后返回控制台并运行git rebase --continue

我想我可以配置git调用一个程序来处理冲突。

有没有办法从命令行调用 IDEA 的冲突解决? 就像是idea --git-resolve-conflicts $(PWD)

也许在安装正确的插件后?这就是 IDEA 给我的帮助:

Usage:
  /usr/local/bin/idea -h | -? | --help
  /usr/local/bin/idea [project_dir]
 /usr/local/bin/idea [-l|--line line] [project_dir|--temp-project] file[:line]
  /usr/local/bin/idea diff <left> <right>
  /usr/local/bin/idea merge <local> <remote> [base] <merged>
Run Code Online (Sandbox Code Playgroud)

Car*_*ini 5

首先,您必须在 ~/.gitconfig (全局)或 project/.git/config (仅适用于您的项目)中定义用于合并解析的工具

[mergetool "idea"]
    cmd = /usr/local/bin/idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
    trustExitCode = false
[merge]
    tool = idea
Run Code Online (Sandbox Code Playgroud)

然后在正常会话中,当git merge命令后出现一些冲突时,调用:

git mergetool
Run Code Online (Sandbox Code Playgroud)

我编辑修改为 false trustExitCode 设置...以便在多个冲突文件时不会失败。shell 中的每个文件都会被询问确认当前文件的冲突是否已解决,然后继续处理下一个文件。