Как отмечает RomainValeri , git pull
- это просто git fetch
плюс вторая команда Git.Это вторая команда Git, которая "шумит" для вас;git fetch
печатает то, что вы хотите.
Причина, по которой git merge
шумит, заключается в том, что git merge
по умолчанию запускает git diff --stat
для сравнения предыдущего значения HEAD
- HEAD@{1}
-к текущему значению, после (в данном случае) печати строки Fast-forward
и выполнения операции быстрой перемотки по имени ветви вместо слияния, за которым следует git checkout
обновленного коммита.
Команда git merge
принимает среди множества других параметров следующие три:
- stat
-n
--no-stat
Показать diffstat в конце слияния.Диффстат также управляется параметром конфигурации merge.stat
.
С помощью -n или --no-stat не показывать diffstat в конце слияния.
Следовательновы можете разделить пул на его отдельные компоненты (как предложил RomainValeri) и затем использовать git merge -n
: вы все равно получите здесь сообщение ускоренной перемотки, но не diffstat.
Команда git pull
обычно отправляет большинство своих опций на git merge
в любом случае.Это включает -n
или --no-stat
.Некоторые из его опций он отправляет на git fetch
, а некоторые - на оба.Это последняя проблема с использованием -q
здесь: она идет как к основной выборке , так и последующему слиянию.Это вынуждает вас разделить команду на два компонента, если вы хотите использовать -q
.
. Вы также можете настроить merge.stat
на false
и вам не придется иметь дело ни с чем из этого.После этого все ваши слияния станут более тихими.
Я обычно рекомендую разбивать git pull
на части по разным причинам.Наиболее важным является то, что часто после git fetch
я хочу проверить то, что я выбрал , чтобы решить, настало ли время для слияния, перебазирования или ни того, ни другого.