Meld를 ​​git mergetool로 설정하는 방법


97

나는 설정했다 :

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

도구가 실행됩니다.



다음에서 붙여 넣기 부분 복사 .gitconfig: marcin-chwedczuk.github.io/use-meld-as-git-merge-diff-tool
csharpfolk

관련 : ".gitconfig와 DIFF 도구 구성" stackoverflow.com/a/6412645/4561887을 (융합에 대한 바로 교체 vimdiffmeld이 답변에)
가브리엘 스테이 플스

향후 사용자가 이에 대해 걱정할 필요가 없도록 업스트림 문제에 댓글을 달고 투표 하십시오.
Franklin Yu

답변:


72

다음과 같은 완전한 유닉스 경로를 사용할 수 있습니다.

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

이것은 "에 설명되어 있습니다 무엇을 어떻게 Windows에서 자식과 융합에 작업을 얻을 "

또는 당신은 "에 설명 된 래퍼 접근 방식 채택 할 수있는 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

스크립트 사용 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 2014 년

@abergmeier 좋아, 더 많은 가시성을 위해 답변에 귀하의 의견을 포함했습니다.
VonC

@abergmeier의 솔루션이 작동합니다. 또한 Windows git bash에서 tabkey 를 수행 하면 경로를 제안하므로 쉽게 올바르게 얻을 수 있습니다.
Aswin Kumar 2014

3
참고로, Mac $ brew install homebrew/x11/meld $ git config --global merge.tool meld $ git config --global diff.guitool meld
OSx에서

@CenterOrbit 좋아, 더 많은 가시성을 위해 답변에 귀하의 의견을 포함했습니다.
VonC

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을 사용하는 경우
마이클 블레이크

때때로 git config (변경을 위해) 후에 git gui를 다시 시작해야 할 수 있습니다.
Yohanes AI

11

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

이 질문은 포기 된 질문입니다. 오랫동안 머지 툴을 다루지 않았기 때문에 당신의 답변이 최고 라하더라도 증명할 수없고 답변으로 표시 할 수 없습니다.
Paul

안녕하세요, 나는 그것을 시도했고 훌륭하게 작동합니다. 내 경우에는, 그것은이었다 'cmd'를 제대로 호출 MELD에 실종 된
faidherbard

Meld는이 명령 줄 템플릿을 사용할 때 병합 된 파일을 올바르게 저장하지 않았습니다. 작동하는 답변 은 stackoverflow.com/a/40777256/768795 를 참조하십시오 .
Thomas 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 충돌과 같은 문제가 발생하면 (파이썬 문제 표시) Meld / lib를 시스템 환경 변수에 다음과 같이 설정해야합니다. C:\Program Files (x86)\Meld\lib


0

Windows의 경우 다음 과 같이 meld 경로를 추가하십시오.

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.