【问题标题】:Intellij Diff and Merge tool on CygwinCygwin 上的 Intellij Diff and Merge 工具
【发布时间】:2012-09-18 19:21:19
【问题描述】:

如何配置 git 以使用 cygwin 进行差异和合并工具。

我可以在 windows 命令提示符下的命令行上成功调用 diff,但对于 cygwin 则不行。

【问题讨论】:

  • 您是否尝试使用 Linux IDEA 版本中的 .sh 脚本?
  • 其实我查过了,但是没有绑定windows版本。
  • 没错,你的用例并不常见,所以你可以从 Linux 版本中复制这些文件并在必要时进行调整。
  • 看来我找到了根本问题。我从任务栏开始 intellij,但是 cygwin 的合并工具。似乎存在上下文问题。
  • 无论您是否启动了 IntelliJ Idea,它都可以工作。请按照我在下面描述的步骤操作。

标签: git intellij-idea cygwin git-merge git-diff


【解决方案1】:

经过大量的摆弄,我发现以下设置在 msysgit 中运行良好(所以在 Cygwin 中是 YMMV,但我打赌它也可以在那里运行)。

只需将其放在您的 .gitconfig 文件中即可:

[diff]
    tool = intellij
[difftool "intellij"]
    cmd = cmd.exe //c "\"C:/Program Files (x86)/IntelliJ IDEA Community Edition 12.0/bin/idea.bat\" diff \"$LOCAL\" \"$REMOTE\""
[merge]
    tool = intellij
[mergetool "intellij"]
    cmd = cmd.exe //c "\"C:/Program Files (x86)/IntelliJ IDEA Community Edition 12.0/bin/idea.bat\" merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""

不需要 Linux IntelliJ 的 .sh 脚本(无论如何我认为它在更小的 msysgit 环境中无法正常运行)。

【讨论】:

    【解决方案2】:

    我想做同样的事情:从Cygwin 运行IntelliJ Diff tool 而不启动IntelliJ Idea,并从Cygwin(不是msysgit)安装Git。

    通过以下方式设法做到这一点:

    • 运行以下命令:chmod +x idea.bat
    • 将“...Intellij Idea/bin”路径添加到Path windows 环境变量(重启 Cygwin)
    • 创建以下脚本并输入c:\cygwin\bin\
    #!/bin/sh
    FILE1=`cygpath -w -a "$1"`  
    FILE2=`cygpath -w -a "$2"`  
    idea.bat diff $FILE1 $FILE2
    
    • .gitconfig 中编辑以下内容(按照 ytpete 的建议):
    [差异] 工具 = 智能 [difftool“智能”] cmd = intellij_idea.sh $LOCAL $REMOTE

    希望,这将帮助那里的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      相关资源
      最近更新 更多