2

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

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

4

2 回答 2

2

经过大量的摆弄,我发现以下设置在 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 环境中正常运行)。

于 2013-03-24T07:12:15.753 回答
0

我想做同样的事情:IntelliJ Diff toolCygwin没有开始的情况下运行IntelliJ Idea,并从 Cygwin(不是 msysgit)安装 Git。

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

  • 运行以下命令:chmod +x idea.bat
  • 添加“ ...Intellij Idea/bin”路径到Pathwindows环境变量(重启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

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

于 2013-12-13T14:06:55.370 回答