Cygwin上的Intellij Diff和Merge工具

时间:2012-09-18 19:21:20

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

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

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

2 个答案:

答案 0 :(得分: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环境中正常运行)。

答案 1 :(得分:0)

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

通过以下方式管理:

  • 运行以下命令:chmod +x idea.bat
  • ...Intellij Idea/bin windows环境变量添加“Path”路径(重启Cygwin)
  • 创建以下脚本并输入c:\cygwin\bin\
#!/bin/sh
FILE1=`cygpath -w -a "$1"`  
FILE2=`cygpath -w -a "$2"`  
idea.bat diff $FILE1 $FILE2
  • .gitconfig中修改以下内容(建议使用ytpete):
[diff]
    tool = intellij
[difftool "intellij"]
    cmd = intellij_idea.sh $LOCAL $REMOTE

希望,这将有助于那里的人。