Как сократить вывод команды 'git pull'? - PullRequest
0 голосов
/ 25 февраля 2019
  • Итак, я запустил команду $ git pull в репозитории git.
  • И она выводит полезные подробности, которые меня интересуют, и множество других деталей, которые меня не интересуют.
  • Так есть ли какой-нибудь переключатель или опция, чтобы оставить только те детали, которые мне нужны?

$ git pull

I нужна эта информация:

remote: Enumerating objects: 2866, done.
remote: Counting objects: 100% (2866/2866), done.
remote: Total 4840 (delta 2865), reused 2865 (delta 2865), pack-reused 1974
Receiving objects: 100% (4840/4840), 7.51 MiB | 2.98 MiB/s, done.
Resolving deltas: 100% (3810/3810), completed with 531 local objects.
From https://github.com/erlang/otp
   76da23bb4e..6053c0e4d7  master     -> origin/master
   77cff66931..39968f062e  maint      -> origin/maint
   934f9974eb..f30b1052c7  maint-21   -> origin/maint-21
 * [new tag]               OTP-21.2.6 -> OTP-21.2.6
 * [new tag]               OTP-20.3.2.1 -> OTP-20.3.2.1
Updating 76da23bb4e..6053c0e4d7

Мне это не нужно информация:

Fast-forward
 .gitignore                                         |     3 +
 bootstrap/bin/no_dot_erlang.boot                   |   Bin 6539 -> 6541 bytes
 bootstrap/bin/start.boot                           |   Bin 6539 -> 6541 bytes
 bootstrap/bin/start_clean.boot                     |   Bin 6539 -> 6541 bytes
 bootstrap/lib/compiler/ebin/beam_a.beam            |   Bin 3364 -> 3200 bytes
 bootstrap/lib/compiler/ebin/beam_asm.beam          |   Bin 11040 -> 10996 bytes
 bootstrap/lib/compiler/ebin/beam_block.beam        |   Bin 3460 -> 3444 bytes
 bootstrap/lib/compiler/ebin/beam_disasm.beam       |   Bin 20864 -> 20860 bytes
 bootstrap/lib/compiler/ebin/beam_except.beam       |   Bin 4252 -> 4228 bytes
 bootstrap/lib/compiler/ebin/beam_jump.beam         |   Bin 10024 -> 9988 bytes
 .../lib/compiler/ebin/beam_kernel_to_ssa.beam      |   Bin 29484 -> 28880 bytes
 bootstrap/lib/compiler/ebin/beam_peep.beam         |   Bin 3644 -> 3604 bytes
 bootstrap/lib/compiler/ebin/beam_ssa.beam          |   Bin 12208 -> 12176 bytes
 bootstrap/lib/compiler/ebin/beam_ssa_bsm.beam      |   Bin 18176 -> 17952 bytes
 bootstrap/lib/compiler/ebin/beam_ssa_codegen.beam  |   Bin 37824 -> 37708 bytes
 bootstrap/lib/compiler/ebin/beam_ssa_dead.beam     |   Bin 12128 -> 11876 bytes
 bootstrap/lib/compiler/ebin/beam_ssa_lint.beam     |   Bin 7512 -> 7536 bytes
 etc...

Так как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Как отмечает 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 я хочу проверить то, что я выбрал , чтобы решить, настало ли время для слияния, перебазирования или ни того, ни другого.

0 голосов
/ 25 февраля 2019

Напоминаем, что команда git pull на самом деле является git fetch, за которой следует слияние с заданной (или разрешенной) ветвью удаленного отслеживания.

Первая полезная для вас часть - этовывод «выборочной» части git pull.Вторая часть, которую вы не хотите, является результатом последующего слияния ускоренной перемотки вперед.

Вы можете разделить операции, чтобы отключить звук только для второй части:

git fetch
git pull -q

Хотите меньше печатать?Сделайте псевдоним

git config --global alias.qpull '!git fetch && git pull -q'

, затем просто сделайте

git qpull origin <someBranch>  # for "quiet pull" for example but anything goes of course
...