109

私が設定した:

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

「gitmergetool」には次のように書かれています。

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

私も試しました:

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

結果は同じです。

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

python meld

ツールが実行されます。

4

10 に答える 10

82

次のような完全な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でMeldをgitで動作させる方法」で説明されているものです。

または、「 WindowsでMeldを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

スクリプト付き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
于 2012-10-18T14:57:45.687 に答える
27

これは、Windows8.1とWindows10で機能しました。

git config --global mergetool.meld.path "/c/Program Files (x86)/meld/meld.exe"
于 2015-07-15T07:40:50.480 に答える
15

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\"
于 2015-11-27T10:20:05.410 に答える
6

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

git config --global mergetool.meld.path c:/Progra~2/meld/bin/meld
于 2013-02-01T19:08:16.280 に答える
5

ここにある他の答えはどれも私にはうまくいきませんでした。おそらくそれらすべての組み合わせを試したからでしょう。私はこの受け入れられた答えをmeldで動作するように適応させることができました。これは現在、git 1.9.4、meld 3.14.0、およびWindows8.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
于 2015-10-24T05:15:18.937 に答える
4

それをインストールした後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”

そして、それはうまくいくようです。「gitdifftool」または「gitmergetool」を使用したマージと差分の両方</p>

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

于 2019-11-05T11:13:47.177 に答える
1

meldをウィンドウで機能させるには、いくつかの順列が必要でした。これは私の現在の.gitconfigです:

[merge]
    conflictstyle = diff3
    tool = meld
[mergetool "meld"]
    cmd = \"C:\\Program Files (x86)\\Meld\\Meld.exe\" --auto-merge \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\"

Linux:

[merge]
    conflictstyle = diff3
    tool = meld
[mergetool "meld"]
    cmd = meld --auto-merge $LOCAL $BASE $REMOTE --output=$MERGED --diff $BASE $LOCAL --diff $BASE $REMOTE

追加conflictstyle = diff3すると、インラインテキストが変更され、meldが出力ファイルに到達する前に出力ファイルにBASEコンテンツが含まれるようになります。これにより、有利なスタートを切ることができます。わからない。

Meldが3方向のマージをサポートしていることはすでに説明したので、別のオプションがあります。「diff3」のgit競合スタイルが設定されている場合、MeldはBASEのコンテンツを示す行に「(??)」を出力します。ソース

私が本当に気に入っているいくつかのmeldコマンドライン機能:

  • --auto-mergeあなたにぴったりのものを選ぶのに素晴らしい仕事をします(それは防弾ではありませんが、節約された時間はリスクに見合う価値があると思います)。

  • 同じコマンドで差分ウィンドウを追加できます。例えば:

    --diff $BASE $LOCAL --diff $BASE $REMOTE

    ローカルパッチと着信パッチの差分を含むタブがさらに2つ追加されます。これらは、各ブランチのベースからの個別の差分を確認するために、3ウェイビューとは別に表示するのに非常に役立ちます。しかし、これをWindowsで動作させることはできませんでした。

  • 一部のバージョンのmeldでは、タブに。でラベルを付けることができます--label。これは、gitがmeldに渡されるファイルの名前を修正してlocal / base/remoteを含める前にもっと重要でした。

  • の順序は--diff、タブの順序に影響を与える可能性があります。メインの3ウェイdiffがはるかに頻繁に使用されるときに、追加のdiffを最初に配置していたいくつかの古いバージョンで問題が発生しました。

于 2020-11-10T19:10:44.133 に答える
0

Windowsの場合、meldのパスは次のように追加します。

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe
于 2017-06-07T09:31:31.143 に答える
0

C:\ Users \ usernameの.gitconfigファイルに以下の行を追加すると、Windows10での3.20.3の問題が解決しました。

[user]
    name = doe
    email = doe@john.com
[core]
longpaths = true
[diff]
    tool = meld
[difftool "meld"]
    path=C:/Program Files/Meld/Meld.exe
[difftool]
    prompt = false
[merge]
    tool = meld
[mergetool "meld"]
    path=C:/Program Files/Meld/Meld.exe
[mergetool]
    prompt = false
    KeepBackup = false 
于 2021-04-29T09:44:29.757 に答える
0

git config --global merge.tool meld git config --global mergetool.meld.path c:/ Program〜2 / meld / Meld /

于 2022-02-21T05:00:43.270 に答える