如何将Meld设置为git mergetool

Pau*_*aul 91 meld git-merge

我已经设定:

git config --global merge.tool meld
git config --global mergetool.meld.path c:/Progra~2/meld/bin/
Run Code Online (Sandbox Code Playgroud)

在"git mergetool"上写道:

Hit return to start merge resolution tool (meld):
The merge tool meld is not available as 'c:/Progra~2/meld/bin/'
Run Code Online (Sandbox Code Playgroud)

我也试过了:

  • / C/PROGRA〜2/MELD/bin中/
  • "/ c/Program files(x86)/ meld/bin /"
  • "c:/ Program files(x86)/ meld/bin /"

结果是一样的.

当我转到C:/ Program files(x86)/ meld/bin /并运行时

python meld
Run Code Online (Sandbox Code Playgroud)

该工具运行.

Von*_*onC 66

您可以使用完整的unix路径,例如:

PATH=$PATH:/c/python26
git config --global merge.tool meld
git config --global mergetool.meld.path /c/Program files (x86)/meld/bin/meld
Run Code Online (Sandbox Code Playgroud)

这就是" 如何在Windows上使用git进行操作 "中描述的内容

或者你也可以采取在"中描述的包装方法使用MELD在Windows上使用Git "

# set up Meld as the default gui diff tool
$ git config --global  diff.guitool meld

# set the path to Meld
$ git config --global mergetool.meld.path C:/meld-1.6.0/Bin/meld.sh
Run Code Online (Sandbox Code Playgroud)

用脚本meld.sh:

#!/bin/env bash
C:/Python27/pythonw.exe C:/meld-1.6.0/bin/meld $@
Run Code Online (Sandbox Code Playgroud)

异常提及评论:

我必须做:

git config --global merge.tool meld
git config --global mergetool.meld.path /c/Program files (x86)/Meld/meld/meldc.exe
Run Code Online (Sandbox Code Playgroud)

请注意,meldc.exe特别创建为通过控制台在Windows上调用.因此meld.exe将无法正常工作.


CenterOrbit在Mac OS 的评论中提到安装自制软件,然后:

brew cask install meld
git config --global merge.tool meld
git config --global  diff.guitool meld
Run Code Online (Sandbox Code Playgroud)

  • 我没有meldc (4认同)
  • 对我来说,我必须这样做:`git config --global merge.tool meld``git config --global mergetool.meld.path/c/Program files(x86)/ Meld/meld/meldc.exe` (3认同)
  • 仅供参考,在Mac OSx上:安装[homebrew](http://brew.sh/),然后:`$ brew install homebrew/x11/meld`` $ git config --global merge.tool meld`` $ git config - -global diff.guitool meld` (3认同)

old*_*ard 24

这适用于Windows 8.1和Windows 10.

git config --global mergetool.meld.path "/c/Program Files (x86)/meld/meld.exe"
Run Code Online (Sandbox Code Playgroud)

  • `git config --global mergetool.meld.path"c:\ Program Files(x86)\ meld\meld.exe"`使用PowerShell时 (6认同)

Tom*_*Maj 9

meld 3.14.0

[merge]
    tool = meld
[mergetool "meld"]
    path = C:/Program Files (x86)/Meld/Meld.exe
    cmd = \"C:/Program Files (x86)/Meld/Meld.exe\" --diff \"$BASE\" \"$LOCAL\" \"$REMOTE\" --output \"$MERGED\"
Run Code Online (Sandbox Code Playgroud)


Yoh*_* AI 9

安装后http://meldmerge.org/ \n我必须告诉 git 它在哪里:

\n\n
git config --global merge.tool meld\ngit config --global diff.tool meld\ngit config --global mergetool.meld.path \xe2\x80\x9cC:\\Program Files (x86)\\Meld\\meld.exe\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n\n

这似乎有效。使用 \xe2\x80\x9cgit difftool\xe2\x80\x9d 或 \xe2\x80\x9cgit mergetool\xe2\x80\x9d 进行合并和比较

\n\n

如果有人在启动后遇到诸如 Meld 崩溃之类的问题(Python 的问题指示),那么您需要将 Meld/lib 设置为您的系统环境变量,如下\nC:\\Program Files (x86)\\Meld\\lib

\n


dbn*_*dbn 5

我认为mergetool.meld.path应该直接指向meld可执行文件.因此,您想要的命令是:

git config --global mergetool.meld.path c:/Progra~2/meld/bin/meld
Run Code Online (Sandbox Code Playgroud)


c.j*_*onn 5

这里没有其他答案对我有用,可能是尝试了所有这些的组合.我能够调整这个被接受的答案来与meld合作.现在使用git 1.9.4,meld 3.14.0和windows 8.1为我工作.

编辑〜/ .gitconfig看起来像:

[diff]
    tool = meld
    guitool = meld
[mergetool "meld"]
    path = c:/Program Files (x86)/Meld/Meld.exe
[difftool "meld"]
    path = c:/Program Files (x86)/Meld/Meld.exe
Run Code Online (Sandbox Code Playgroud)