有人在Windows上用Git做过Meld的工作吗?我正在努力使它发挥作用,但我没有成功。
我已经安装了Meld,当我用两个文件作为参数从命令行调用它时,它很好地区别了它们,所以Meld是正确安装的。然而,我不能让它与吉特(吉特迪夫)。我使用Git的git version 1.8.1.msysgit.1版本。
我尝试了几种方法:我创建了一个shell脚本,meld.sh
#!/bin/bash
meld.exe "$2" "$5"
echo $2
echo $5用了吉特的话:
[diff]
tool = meld
[difftool "meld"]
cmd = \"D:\\meld.sh\"我试着把它作为一个像这样的扩散工具:
[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),但没有输出。我还尝试以几种方式使用批处理脚本:
meld.exe %2 %5或
meld.exe %~2 %~5但它真的行不通..。我如何传递两个版本的文件时,Git使用的扩散到Meld?很烦人..。
发布于 2013-12-05 13:27:30
通常,您可以在Windows上找到类似于这个要旨的示例,其中meld.exe位于PATH中):
git config --global merge.tool meld
git config --global mergetool.meld.cmd 'meld.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"'
git config --global diff.tool meld
git config --global difftool.meld.cmd 'meld.exe \"$LOCAL\" \"$REMOTE\"'您可以在"Windows环境下Git合并工具与Meld“中找到更健壮的设置,但想法仍然不变。
“任择议定书”在评论中报告:
对于
difftool,命令用.gitconfig编写以下配置:
[diff]
tool = meld
[difftool "meld"]
cmd = meld.exe \\\"$LOCAL\\\" \\\"$REMOTE\\\"我把它们改成:
[diff]
tool = meld
[difftool "meld"]
cmd = meld.exe $LOCAL $REMOTE一切都很顺利。
发布于 2014-07-24 20:27:33
或者更好的是,如果你在一个不允许使用路径的封闭系统中,或者你只是不想污染你的路径空间,你可以把整个路径放到Meld上。
我还喜欢在左边显示我当前的工作代码副本,因此我交换了$REMOTE和$LOCAL参数。还要注意\到/的转换,而不是为了逃避双引号。
[diff]
tool = meld
[difftool "meld"]
cmd = \"C:/Program Files (x86)/Meld/meld/meld.exe\" $REMOTE $LOCAL发布于 2017-01-02 07:28:57
对于Windows 7(甚至其他版本的windows),将这些行添加到.gitconfig文件中。
[diff]
tool = meld
[merge]
tool = meld
[difftool "meld"]
path = C:/Program Files (x86)/Meld/meld.exe
[mergetool "meld"]
path = C:/Program Files (x86)/Meld/meld.exe请注意,即使路径包含空格,也不需要对路径使用"。只需记住使用正斜杠而不是后斜杠。
https://stackoverflow.com/questions/20238883
复制相似问题