如何使用cygwin中“git mergetool”中的beyondcompare?

最佳答案

这里有一个简单的答案。

#! /bin/sh
LOCAL=`cygpath -wa $1`
REMOTE=`cygpath -wa $2`
BASE=`cygpath -wa $3`
MERGED=`cygpath -wa $4`
/cygdrive/c/BeyondCompare3/BComp.exe $LOCAL $THEIRS $BASE $MERGED

或者像你的git配置一样。
[mergetool "mergetool"]
    cmd = /cygdrive/c/BeyondCompare3/BComp.exe `cygpath -wa "$LOCAL"` `cygpath -wa "$REMOTE"` `cygpath -wa "$BASE"` `cygpath -wa "$MERGED"`

我使用cygpath(cygwin附带的)来转换路径。-w标志从cygwin格式(从/cygdrive/c开始)转换为windows格式(从c开始)。-a标志使用绝对文件名。
注意:我没有pro beyondcompare许可证,因此无法正确测试merge,但它正在正确打开前两个文件。

08-26 22:51