Jac*_*ieg 16 git git-diff meld msysgit difftool
有没有人让Meld在Windows上与Git合作?我试图让它工作,我没有成功.
我安装了Meld,当我从命令行调用它时有两个文件作为参数,它们很好地区分它们以便正确安装Meld.但是我无法使用Git(Git Diff).我使用的git version 1.8.1.msysgit.1
是Git 版本.
我尝试了几件事:我创建了一个shell脚本,meld.sh
:
#!/bin/bash
meld.exe "$2" "$5"
echo $2
echo $5
Run Code Online (Sandbox Code Playgroud)
并从Git中使用它:
[diff]
tool = meld
[difftool "meld"]
cmd = \"D:\\meld.sh\"
Run Code Online (Sandbox Code Playgroud)
我试着把它添加为像这样的difftool:
[diff]
tool = meld
[difftool "meld"]
cmd = \"C:\\Program Files (x86)\\Meld\\meld\\meld.exe\"
Run Code Online (Sandbox Code Playgroud)
或者像这样:
[diff]
tool = meld
[difftool "meld"]
cmd = '\"/c/Program Files (x86)/Meld/meld/meld.exe\" $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE --output=$PWD/$MERGED'
Run Code Online (Sandbox Code Playgroud)
但它似乎真的不起作用.我还试图从我的shell脚本中回显第二个($ 2)和第五个($ 5)参数,没有输出.我还尝试过以下几种方式使用批处理脚本:
meld.exe %2 %5
Run Code Online (Sandbox Code Playgroud)
要么
meld.exe %~2 %~5
Run Code Online (Sandbox Code Playgroud)
但它确实不起作用......如何在传播Git
到Meld时传递文件的两个版本?这很烦人......
Von*_*onC 22
通常,您可以在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\"'
Run Code Online (Sandbox Code Playgroud)
您可以在" Git mergetool with Meld on Windows "中找到更强大的设置,但这个想法保持不变.
OP在评论中报告:
对于
difftool
,您的命令在以下位置编写以下配置.gitconfig
:
[diff]
tool = meld
[difftool "meld"]
cmd = meld.exe \\\"$LOCAL\\\" \\\"$REMOTE\\\"
Run Code Online (Sandbox Code Playgroud)
我改为:
[diff]
tool = meld
[difftool "meld"]
cmd = meld.exe $LOCAL $REMOTE
Run Code Online (Sandbox Code Playgroud)
一切都很好.
或者更好的是,如果您在一个锁定的系统中,不允许在路径上胡闹,或者您只是不想污染您的路径空间,您可以将完整路径放入 Meld。
我也更喜欢我当前的工作代码副本显示在左侧,所以我交换了 $REMOTE 和 $LOCAL 参数。还要注意 \ 到 / 的转换,不要为了转义双引号。
[diff]
tool = meld
[difftool "meld"]
cmd = \"C:/Program Files (x86)/Meld/meld/meld.exe\" $REMOTE $LOCAL
Run Code Online (Sandbox Code Playgroud)
小智 5
对于 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
Run Code Online (Sandbox Code Playgroud)
请注意,"
即使路径包含空格,也不需要使用。请记住使用正斜杠而不是反斜杠。
归档时间: |
|
查看次数: |
16921 次 |
最近记录: |