有人曾经在Windows上让Meld与Git一起工作吗? 我正在尝试让它工作,但没有成功。
我已经安装了Meld,并且当我使用两个文件作为参数从命令行调用它时,它能很好地进行差异比较,因此Meld已正确安装。 但是我无法让它与Git(Git Diff)一起工作。 我使用版本git version 1.8.1.msysgit.1
的Git。
我尝试了几件事情:
我创建了一个名为meld.sh
的shell脚本:
#!/bin/bash
meld.exe "$2" "$5"
echo $2
echo $5
并且从Git中使用它:
[diff]
tool = meld
[difftool "meld"]
cmd = \"D:\\meld.sh\"
我尝试将它添加为类似于 difftool 的工具:
[diff]
tool = meld
[difftool "meld"]
cmd = \"C:\\Program Files (x86)\\Meld\\meld\\meld.exe\"
或者像这样:
[diff]
tool = meld
[difftool "meld"]
cmd = '\"/c/Program Files (x86)/Meld/meld/meld.exe\" $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE --output=$PWD/$MERGED'
但是它似乎真的不起作用。我还尝试从我的shell脚本中回显第二个($2)和第五个($5)参数,但没有输出。我也尝试过以几种方式使用批处理脚本:
But it really does not seem to work. I also tried to echo the second($2) and fifth($5) parameter from my shell script and no output. I also tried using a batch script in several ways:
meld.exe %2 %5
或者meld.exe %~2 %~5
但它真的不起作用...我该如何将Git在比较时使用的两个版本文件传递给Meld呢?这相当令人烦恼...
difftool
工作了。虽然还没有尝试过mergetool
,但它们应该是一样的。对于difftool
,您的命令将以下配置写入.gitconfig
文件中:[diff] tool = meld [difftool "meld"] cmd = meld.exe \\\"$LOCAL\\\" \\\"$REMOTE\\\"
我将它们更改为:[diff] tool = meld [difftool "meld"] cmd = meld.exe $LOCAL $REMOTE
一切都正常工作了。稍后我会尝试mergetool
,但我会接受您的评论 :) 谢谢! - Jacob Kriegcmd = meld.exe $LOCAL $REMOTE
,它运行得非常好。否则,可能会因为参数而崩溃。 再次感谢! - Jacob Krieg