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.

Paul
sumber
Salin tempel bagian .gitconfigdari: marcin-chwedczuk.github.io/use-meld-as-git-merge-diff-tool
csharpfolk
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
VonC
sumber
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"
penyihir tua
sumber
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\"
Tomasz Mayor
sumber
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
dbn
sumber
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
cjmcdonn
sumber
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

Yohanes AI
sumber
0

Untuk windows tambahkan path untuk meld seperti di bawah ini:

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe
Sekhar T
sumber