Meldをgit mergetoolとして設定する方法


95

私は設定しました:

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/'

私も試しました:

  • / c / Progra〜2 / meld / bin /
  • 「/ c /プログラムファイル(x86)/ meld / bin /」
  • 「c:/プログラムファイル(x86)/ meld / bin /」

結果は同じです。

C:/ Program files(x86)/ meld / bin /に移動して実行すると

python meld

ツールが実行されます。



次の部分をコピーして貼り付けます.gitconfigmarcin-chwedczuk.github.io/use-meld-as-git-merge-diff-tool
csharpfolk

関連:「.gitconfigを使用したdiffツールの構成」:stackoverflow.com/a/6412645/4561887(meldの場合vimdiffmeld、この回答で単に置き換えてください)
Gabriel Staples

今後のユーザーがこれについて心配する必要がないように、コメントして上流の問題に投票してください。
フランクリンYu

回答:


71

次のような完全なUNIXパスを使用できます。

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

これは、「Windowsでgitを使用してmeldを動作させる方法」で説明されています。

または、「WindowsでGitでMeldを使用する」で説明されているラッパーアプローチを採用することもできます

# 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

スクリプトを使用meld.sh

#!/bin/env bash
C:/Python27/pythonw.exe C:/meld-1.6.0/bin/meld $@

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 cask install meld
git config --global merge.tool meld
git config --global  diff.guitool meld

3
私にとって、私はしなければなりませんgit config --global merge.tool meld git config --global mergetool.meld.path /c/Program files (x86)/Meld/meld/meldc.exe
でした

@abergmeierわかりました。わかりやすくするため、回答にコメントを含めました。
VonC、2014年

@abergmeierのソリューションは機能します。また、Windowsのgit bashでは、tabキーを入力するとパスを提案するので、簡単に正しく設定できます。
Aswin Kumar 14

3
参考までに、Mac OSxの場合:homebrewをインストールしてから、$ brew install homebrew/x11/meld $ git config --global merge.tool meld $ git config --global diff.guitool meld
CenterOrbit

@CenterOrbit OK、わかりやすくするために回答にコメントを含めました。
VonC、2015年

24

これは、Windows 8.1およびWindows 10で動作しました。

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

6
git config --global mergetool.meld.path "c:\Program Files (x86)\meld\meld.exe"PowerShellを使用する場合
Michael Blake

11

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

これは放棄された質問であることに注意してください。私はマージツールを長い間扱っていなかったので、あなたの答えが最高であっても、それを証明して答えとしてマークすることはできません。
ポール、

こんにちは、私はそれを試しました、そしてそれは素晴らしい働きをします。私の場合、
meld

このコマンドラインテンプレートを使用すると、Meldはマージされたファイルを正しく保存しませんでした。機能する回答については、stackoverflow.com / a / 40777256/768795を参照してください。
トーマスW

6

mergetool.meld.pathmeld実行可能ファイルを直接指す必要があると思います。したがって、必要なコマンドは次のとおりです。

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

2

それをインストールした後http://meldmerge.org/ 私はそれがどこにあるかをgitに伝えなければなりませんでした:

git config --global merge.tool meld
git config --global diff.tool meld
git config --global mergetool.meld.path “C:\Program Files (x86)\Meld\meld.exe”

そしてそれはうまくいくようです。「git difftool」または「git mergetool」によるマージと差分の両方

誰かが起動後にMeldクラッシュなどの問題に直面した場合(Pythonでの問題の表示)、次のようにシステム環境変数にMeld / libを設定する必要があります C:\Program Files (x86)\Meld\lib


0

Windowsの場合、メルドのパスを以下のように追加します。

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.