Mengapa "git difftool" tidak membuka alat secara langsung?

157

Saya mengkonfigurasi gitseperti ini:

git config --global diff.tool meld

Ketika saya menjalankan:

git difftool

Saya mendapatkan pesan berikut:

Viewing: 'hello.txt'
Hit return to launch 'meld': 

Lalu, jika saya tekan Enter, meldakan diluncurkan.

Bagaimana saya bisa menonaktifkan pesan ini, sehingga meldakan segera diluncurkan setelah mengetik git difftool?

Misha Moroshko
sumber
Lihat juga: stackoverflow.com/questions/1220309/…
Mekanik keong
4
Saya pikir juga pertanyaan yang valid adalah: mengapa secara default diperlukan persetujuan tambahan?
Radek Postołowicz

Jawaban:

64
man git-difftool

OPTIONS
   -y, --no-prompt
       Do not prompt before launching a diff tool.
Bill Door
sumber
20
Jawaban oleh @ZJR tampaknya merupakan jawaban yang disukai kebanyakan orang (termasuk saya).
Jono
1
Ref untuk jawaban ZJR (dalam hal perubahan nama pengguna): stackoverflow.com/questions/7897517/…
Peter Mortensen
jawaban yang lebih baik di bawah ini.
m1m1k
@ m1m1k Komentar yang lebih baik di atas :-)
Duncan Jones
379

Ada juga pilihan:

difftool.prompt
  Prompt before each invocation of the diff tool.

Perintah berikut mematikan prompt secara global (untuk semua repo):

git config --global difftool.prompt false

Yang seperti menulis di ~/.gitconfig:
(atau di %HOMEDRIVE%%HOMEPATH%\.gitconfig)

[difftool]
  prompt = false
ZJR
sumber
16
Ini solusi yang tepat. Jawabannya menandai solusi, tidak menyimpan penekanan tombol apa pun. Terima kasih banyak.
sweisgerber.dev
2
@sebweisgerber Saya hanya memparafrasekan jawaban yang ditandai dan menemukan cara menjadikannya permanen. Saya mungkin tidak akan menemukan opsi sebaliknya.
ZJR
1
Ini adalah jawaban yang lebih baik karena ini akan menangani kasus sebagai tindakan default, yang akan memungkinkan penulis pertanyaan untuk terus menggunakan git-difftool seperti yang mereka inginkan.
Neil Monroe
Sebenarnya itu --add opsi ini salah tempat di sini. Ini berarti menambahkan pengaturan "prompt = false" ke entri "promt" apa pun yang sudah ada, sedangkan tujuannya adalah untuk mengganti nilai saat ini atau menambahkannya di tempat pertama. Perilaku ini dicapai tanpa --add.
user905686
17
Pastikan Anda tidak memasukkan propmt = falsebagian [difftool "toolname"] `secara tidak sengaja. Itu tidak bekerja. Itu harus di bawah [difftool]bagian.
Fosna