Почему «git difftool» не открывает инструмент напрямую?

157

Я настроил gitтак:

git config --global diff.tool meld

Когда я бегу:

git difftool

Я получаю следующее сообщение:

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

Затем, если я нажму Enter, meldзапустит.

Как я могу отключить это сообщение, чтобы meldоно запускалось сразу после ввода git difftool?

Миша Морошко
источник
См. Также: stackoverflow.com/questions/1220309/…
Механическая улитка
4
Я также считаю правильным вопрос: почему по умолчанию требуется дополнительное одобрение?
Радек Постолович

Ответы:

64
man git-difftool

OPTIONS
   -y, --no-prompt
       Do not prompt before launching a diff tool.
Билл Дверь
источник
20
Ответ @ZJR кажется наиболее предпочтительным ответом большинства людей (включая меня).
Йоно
1
Ссылка на ответ ZJR (в случае изменения имени пользователя): stackoverflow.com/questions/7897517/…
Питер Мортенсен
лучше ответ ниже.
m1m1k
@ m1m1k Лучший комментарий выше :-)
Дункан Джонс
379

Также есть опция:

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

Следующая команда отключает подсказку глобально (для всех репозиториев):

git config --global difftool.prompt false

Что похоже на запись в ~/.gitconfig:
(или в %HOMEDRIVE%%HOMEPATH%\.gitconfig)

[difftool]
  prompt = false
Zjr
источник
16
Это правильное решение. Ответ помечен как решение, не сохраняет нажатий клавиш. Большое спасибо.
sweisgerber.dev
2
@sebweisgerber Я просто перефразировал отмеченный ответ и обнаружил, как сделать его постоянным. Я бы не нашел вариант иначе.
ZJR
1
Это лучший ответ, потому что он будет обрабатывать регистр как действие по умолчанию, что позволит автору вопросов продолжать использовать git-difftool так, как они хотят.
Нил Монро
На самом деле --addвариант здесь неуместен. Это означает добавление параметра «prompt = false» к любым уже существующим записям «promt», тогда как цель состоит в том, чтобы заменить текущее значение или добавить его в первую очередь. Такое поведение достигается без --add.
user905686
17
Убедитесь, что вы не propmt = falseпопали в раздел [difftool "toolname"] `случайно. Не работает Это должно быть в [difftool]разделе.
Фосна