Как пропустить "Нажать клавишу возврата, чтобы запустить инструмент разрешения слияния" и автоматически открыть mergetool

Git просит нажать кнопку возврата, чтобы открыть mergetool для каждого файла конфликта один за другим:

> git mergetool 
Normal merge conflict for '...':
  {local}: modified file
  {remote}: modified file
Hit return to start merge resolution tool (opendiff):

Как мне избежать повторного шага возврата для моего проекта и просто автоматически открыть настроенный инструмент слияния?

4 ответа

Решение

Использовать -y флаг. Из документации:

-y
--no-prompt
Не запрашивать перед каждым вызовом программы разрешения слияния.

Чтобы окончательно пропустить приглашение, выполните:

git config --global mergetool.prompt false

Чтобы пропустить его за один раз git mergetool, проходить -y или же --no-prompt:

git mergetool -y

Примечание: GIt 2.0.x (3 квартал 2014 г.) не будет отображать это сообщение, если вы четко определили merge.tool,
Нет необходимости -y больше.

Смотрите коммит 4ecc63d Фелипе Контрераса (felipec ):

mergetool: запускать подсказку, только если угадал инструмент

Досадно видеть подсказку:

Hit return to start merge resolution tool (foo):

Каждый раз, когда пользователь делаетgit mergetool "Даже если пользователь уже настроен"foo'как нужный инструмент.

Отображать это приглашение только в том случае, если пользователь явно не настроил инструмент.

Увидетьgit-mergetool--lib.sh#L323-L339 для "явно определенной" части: git config merge.tool


Это поясняется коммитом c15bb0c:

-y::
--no-prompt::

Не запрашивать перед каждым вызовом программы разрешения слияния.

Это значение по умолчанию, если программа разрешения слияния явно указана с --tool вариант или с merge.tool переменная конфигурации.

--prompt::

Перед каждым вызовом программы разрешения слияния запрашивать у пользователя возможность пропустить путь.

Добавьте следующие строки в свой.gitconfigфайл. Обычно это на~/.gitconfig:

      [mergetool]
    prompt = false

Предложенные выше методы в конечном итоге делают это. Добавление этого ответа, поскольку он помогает узнать, где команда вносит изменения.

Другие вопросы по тегам