$ git pull
命令。 $ git pull
我需要此信息:
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...
那我该怎么做?
答案 0 :(得分:5)
提醒一下,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
答案 1 :(得分:1)
与RomainValeri notes一样,git pull
只是git fetch
加上第二个Git命令。这是第二个对您“嘈杂”的Git命令; git fetch
会显示您想要的内容。
git merge
嘈杂的原因是因为git merge
在默认情况下会先运行git diff --stat
,然后再将HEAD
(HEAD@{1}
)的先前值与当前值,(在这种情况下)打印Fast-forward
行并在分支名称上执行快进操作,而不是合并,然后是git checkout
更新的提交。
The git merge
command除其他众多选项外,还选择了以下三个选项:
-stat
-n
--no-stat
在合并结束时显示diffstat。 diffstat也由配置选项merge.stat
控制。
使用-n或--no-stat不会在合并结束时显示diffstat。
因此,您可以将pull拆分为单独的组件(如RomainValeri所建议的),然后使用git merge -n
:您仍将在此处获得快进消息,但不能获得diffstat。
git pull
命令通常无论如何都会将其大多数选项发送到git merge
。其中包括-n
或--no-stat
。它的某些选项会发送到git fetch
,而另一些选项会发送给两个。最后一个问题是在此处使用-q
的问题:它同时涉及基础提取和。如果要使用-q
,这将迫使您将命令分为两个部分。
您还可以将merge.stat
配置为false
,而不必进行任何处理。之后,所有合并将变得更加安静。
出于多种原因,我通常建议还是将git pull
分开。最重要的一点是,在git fetch
之后,我常常想检查获取的内容,以确定是否该进行合并,变基或不该合并。