有没有人让Meld在Windows上与Git合作?我试图让它工作,我没有成功。
我安装了Meld,当我从命令行调用它时有两个文件作为参数,它们很好地区分它们以便正确安装Meld。但是我无法使用Git(Git Diff)。我使用Git的git version 1.8.1.msysgit.1
版本。
我尝试了几件事:我创建了一个shell脚本,meld.sh
:
#!/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)参数,没有输出。我还尝试过以下几种方式使用批处理脚本:
meld.exe %2 %5
要么
meld.exe %~2 %~5
但它真的不起作用......我如何通过qazxswpoi文件的两个版本在传播到Meld时使用?这很烦人......
通常,您可以在Windows上找到类似于Git
的示例,其中meld.exe位于您的this gist中):
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\"'
”中找到更强大的设置,但这个想法保持不变。
OP在评论中报告:
对于Git mergetool with Meld on Windows,您的命令在
difftool
中编写以下配置:
.gitconfig
我改为:
[diff]
tool = meld
[difftool "meld"]
cmd = meld.exe \\\"$LOCAL\\\" \\\"$REMOTE\\\"
一切都很好。
或者甚至更好,如果你是一个锁定系统,不允许愚弄路径,或者你只是不想污染你的路径空间,你可以直接进入Meld的完整路径。
我也更喜欢我当前正在运行的代码副本显示在左侧,所以我交换了$ REMOTE和$ LOCAL参数。还要记住\ to /的转换,并且不要转义双引号。
[diff]
tool = meld
[difftool "meld"]
cmd = meld.exe $LOCAL $REMOTE
对于Windows 7(甚至其他版本的Windows),请在[diff]
tool = meld
[difftool "meld"]
cmd = \"C:/Program Files (x86)/Meld/meld/meld.exe\" $REMOTE $LOCAL
文件中添加这些行。
.gitconfig
请注意,即使包含空格,也不需要使用[diff]
tool = meld
[merge]
tool = meld
[difftool "meld"]
path = C:/Program Files (x86)/Meld/meld/meld.exe
[mergetool "meld"]
path = C:/Program Files (x86)/Meld/meld/meld.exe
作为路径。只记得使用正斜杠而不是反斜杠。
我尝试了几种尝试用"
设置路径无效。因为我想从Git Bash控制台窗口使用Meld,所以工作是将路径导出到Meld目录,重新启动Bash shell并且看看git config
和git difftool --tool-help
现在识别Meld,我可以选择它作为我的首选工具。
。轮廓
git mergetool --tool-help
的.gitconfig
export PATH=/c/Program\ Files\ \(x86\)/Meld/:$PATH
用户从gitk调用diff的另一个提示(通过右键单击上下文菜单项“External Diff”):
以上设置可能会被gitk的首选项覆盖。在这种情况下,更改gitk菜单编辑→首选项→常规→外部差异设置中的工具。