Cách đặt Meld làm git mergetool


95

Tôi đã đặt:

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

Trên "git mergetool" nó viết:

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

Tôi cũng đã thử:

  • / c / Progra ~ 2 / meld / bin /
  • "/ c / Tệp chương trình (x86) / meld / bin /"
  • "c: / Tệp chương trình (x86) / meld / bin /"

kết quả là như nhau.

khi tôi truy cập C: / Program files (x86) / meld / bin / và chạy

python meld

công cụ chạy.



Sao chép dán các bộ phận của .gitconfigtừ: marcin-chwedczuk.github.io/use-meld-as-git-merge-diff-tool
csharpfolk

Liên quan: "Định cấu hình công cụ khác biệt với .gitconfig": stackoverflow.com/a/6412645/4561887 (đối với meld, chỉ cần thay thế vimdiffbằng meldtrong câu trả lời này)
Gabriel Staples

Vui lòng bình luận và bỏ phiếu cho vấn đề ngược dòng để người dùng trong tương lai thậm chí không cần phải lo lắng về điều này.
Franklin Yu

Câu trả lời:


71

Bạn có thể sử dụng các đường dẫn unix hoàn chỉnh như:

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

Đây là những gì được mô tả trong " Cách làm việc với meld với git trên Windows "

Hoặc bạn có thể áp dụng phương pháp trình bao bọc được mô tả trong " Sử dụng Meld với Git trên 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

Với một kịch bản meld.sh:

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

abergmeier đề cập trong các bình luận :

Tôi phải làm:

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

Lưu ý rằng meldc.exe đặc biệt được tạo ra để được gọi trên Windows thông qua bảng điều khiển. Do đó meld.exe sẽ không hoạt động bình thường.


CenterOrbit đề cập trong các nhận xét để Mac OS cài đặt homebrew , sau đó:

brew cask install meld
git config --global merge.tool meld
git config --global  diff.guitool meld

3
Đối với tôi, tôi phải làm:git config --global merge.tool meld git config --global mergetool.meld.path /c/Program files (x86)/Meld/meld/meldc.exe
abergmeier

@abergmeier Được rồi, tôi đã đưa nhận xét của bạn vào câu trả lời để dễ hiển thị hơn.
VonC

Giải pháp của @ abergmeier hoạt động. Ngoài ra, trên windows git bash, nếu bạn nhập tabkey, nó sẽ gợi ý đường dẫn để bạn dễ dàng thực hiện đúng.
Aswin Kumar

3
FYI, trên Mac OSx: cài đặt homebrew , sau đó:$ brew install homebrew/x11/meld $ git config --global merge.tool meld $ git config --global diff.guitool meld
CenterOrbit

@CenterOrbit OK, tôi đã đưa nhận xét của bạn vào câu trả lời để dễ nhìn hơn.
VonC

24

Điều này đã làm việc cho tôi trên Windows 8.1 và 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"khi sử dụng 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\"

Xin lưu ý rằng đây là một câu hỏi bị bỏ rơi. Tôi đã không xử lý các công cụ hợp nhất trong một thời gian dài, vì vậy ngay cả khi câu trả lời của bạn là tốt nhất, tôi không thể chứng minh điều đó và đánh dấu là câu trả lời.
Paul

Xin chào, tôi đã thử nó và nó hoạt động rất tốt. Trong trường hợp của tôi, đó là 'cmd' mà đã mất tích đúng gọi meld
faidherbard

Meld đã không lưu các tệp được hợp nhất một cách chính xác cho tôi khi sử dụng mẫu dòng lệnh này. Xem stackoverflow.com/a/40777256/768795 để biết câu trả lời phù hợp.
Thomas W,

6

Tôi nghĩ rằng điều đó mergetool.meld.pathsẽ trỏ trực tiếp đến tệp thực thi meld. Do đó, lệnh bạn muốn là:

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

5

Không có câu trả lời nào khác ở đây phù hợp với tôi, có thể từ việc thử kết hợp tất cả chúng. Tôi đã có thể điều chỉnh câu trả lời được chấp nhận này để làm việc với meld. Điều này hiện đang hoạt động đối với tôi với git 1.9.4, meld 3.14.0 và windows 8.1.

Chỉnh sửa ~ / .gitconfig để trông giống như:

[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

Sau khi cài đặt nó http://meldmerge.org/, tôi phải cho git biết nó ở đâu:

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”

Và điều đó có vẻ hiệu quả. Cả hợp nhất và khác nhau bằng “git difftool” hoặc “git mergetool”

Nếu ai đó gặp phải sự cố chẳng hạn như sự cố Meld sau khi khởi động (chỉ báo sự cố với python) thì bạn cần thiết lập Meld / lib cho biến môi trường hệ thống của bạn như sau C:\Program Files (x86)\Meld\lib


0

Đối với các cửa sổ, thêm đường dẫn cho meld như sau:

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.