Cara menyetel Meld sebagai git mergetool


97

Saya telah mengatur:

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

Di "git mergetool" tertulis:

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

Saya juga mencoba:

  • / c / Progra ~ 2 / berbaur / bin /
  • "/ c / File program (x86) / meld / bin /"
  • "c: / File program (x86) / meld / bin /"

hasilnya sama.

ketika saya pergi ke C: / Program files (x86) / meld / bin / dan jalankan

python meld

alat tersebut bekerja.




Terkait: "Mengonfigurasi alat diff dengan .gitconfig": stackoverflow.com/a/6412645/4561887 (untuk gabungan, cukup ganti vimdiffdengan melddalam jawaban ini)
Gabriel Staples

Harap beri komentar dan pilih untuk masalah hulu sehingga pengguna di masa mendatang tidak perlu khawatir tentang ini.
Franklin Yu

Jawaban:


72

Anda bisa menggunakan jalur unix lengkap seperti:

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

Inilah yang dijelaskan di " Cara membuat gabungan bekerja dengan git di Windows "

Atau Anda dapat mengadopsi pendekatan pembungkus yang dijelaskan dalam " Menggunakan Meld dengan Git di 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

Dengan skrip meld.sh:

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

abergmeier menyebutkan di komentar :

Saya harus melakukan:

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

Perhatikan bahwa meldc.exe dibuat khusus untuk dipanggil di Windows melalui konsol. Dengan demikian meld.exe tidak akan berfungsi dengan baik.


CenterOrbit menyebutkan di komentar untuk Mac OS untuk menginstal homebrew , dan kemudian:

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

3
Bagi saya, saya harus melakukan:git config --global merge.tool meld git config --global mergetool.meld.path /c/Program files (x86)/Meld/meld/meldc.exe
abergmeier

@abergmeier Ok, saya telah memasukkan komentar Anda dalam jawaban untuk visibilitas lebih lanjut.
VonC

Solusi @ abergmeier berhasil. Juga, di windows git bash, jika Anda melakukan tabkey, itu akan menyarankan jalur sehingga mudah untuk melakukannya dengan benar.
Aswin Kumar

3
FYI, di Mac OSx: install homebrew , lalu:$ brew install homebrew/x11/meld $ git config --global merge.tool meld $ git config --global diff.guitool meld
CenterOrbit

@CenterOrbit Oke, saya telah menyertakan komentar Anda dalam jawaban untuk visibilitas lebih lanjut.
VonC

24

Ini berfungsi untuk saya di Windows 8.1 dan 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"saat menggunakan PowerShell
Michael Blake

terkadang Anda dapat me-restart git gui Anda setelah Anda git config (untuk mengambil perubahan)
Yohanes AI

11

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

Perlu diketahui bahwa ini adalah pertanyaan yang diabaikan. Saya sudah lama tidak berurusan dengan alat penggabung, jadi meskipun jawaban Anda adalah yang terbaik, saya tidak dapat membuktikannya dan menandai sebagai jawaban.
Paul

Halo, saya sudah mencobanya dan hasilnya bagus. Dalam kasus saya, itu adalah 'cmd' yang hilang untuk memanggil meld dengan benar
faidherbard

Meld tidak menyimpan file yang digabungkan dengan benar untuk saya saat menggunakan template baris perintah ini. Lihat stackoverflow.com/a/40777256/768795 untuk jawaban yang berhasil.
Thomas W

6

Saya pikir itu mergetool.meld.pathharus mengarah langsung ke gabungan yang dapat dieksekusi. Jadi, perintah yang Anda inginkan adalah:

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

5

Tidak ada jawaban lain di sini yang berhasil untuk saya, mungkin dari mencoba kombinasi semuanya. Saya bisa mengadaptasi jawaban yang diterima ini untuk bekerja dengan gabungan. Ini sekarang berfungsi untuk saya dengan git 1.9.4, meld 3.14.0, dan windows 8.1.

Edit ~ / .gitconfig agar terlihat seperti:

[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

Setelah menginstalnya http://meldmerge.org/ saya harus memberi tahu git di mana tempatnya:

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”

Dan itu sepertinya berhasil. Menggabungkan dan membedakan dengan "git difftool" atau "git mergetool"

Jika seseorang menghadapi masalah seperti Meld crash setelah memulai (indikasi masalah dengan python) maka Anda perlu mengatur Meld / lib ke variabel lingkungan sistem Anda seperti di bawah ini C:\Program Files (x86)\Meld\lib


0

Untuk windows tambahkan path untuk meld seperti di bawah ini:

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.