Как установить Meld как git mergetool

Я установил:

git config --global merge.tool meld
git config --global mergetool.meld.path c:/Progra~2/meld/bin/

Вкл. git mergetool "он пишет:

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

Я тоже попробовал:

  • /с/Progra ~ 2/MELD/бен/
  • "/c/Программные файлы (x86)/meld/bin/"
  • "c:/Программные файлы (x86)/meld/bin/"

то же самое.

когда я перехожу к C:/Program files (x86)/meld/bin/и запускает

python meld

инструмент запускается.

Ответ 1

Вы можете использовать полные пути unix, например:

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

Это то, что описано в разделе Как работать с git в Windows"

Или вы можете принять подход обертки, описанный в Использовать Meld с git в Windows"

# 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

С помощью script meld.sh:

#!/bin/env bash
C:/Python27/pythonw.exe C:/meld-1.6.0/bin/meld [email protected]

abergmeier упоминает в комментариях:

Мне пришлось делать:

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

Обратите внимание, что meldc.exe был специально создан для вызова в Windows через консоль. Таким образом, meld.exe не будет работать должным образом.


CenterOrbit упоминает в комментарии для Mac OS для установки homebrew, а затем:

brew install homebrew/gui/meld
git config --global merge.tool meld
git config --global  diff.guitool meld

Ответ 2

Это работало для меня в Windows 8.1 и Windows 10.

git config --global mergetool.meld.path "/c/Program Files (x86)/meld/meld.exe"

Ответ 3

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\"

Ответ 4

Я думаю, что mergetool.meld.path должен указывать непосредственно на исполняемый файл meld. Таким образом, вам нужна команда:

git config --global mergetool.meld.path c:/Progra~2/meld/bin/meld

Ответ 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

Ответ 6

Это работает, но всегда получает эту скучную ошибку: введите описание изображения здесь

Ответ 7

Для windows добавьте путь для meld, как показано ниже:

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe