为什么git push --quiet产生输出?

时间:2016-07-01 01:48:44

标签: git

我正在用一个安静的标志进行git push,并期望git不会产生任何消息。文档说

  

- quiet 取消所有输出,包括更新引用的列表,除非发生错误。没有向标准错误报告进度   流。

但我仍然接受"分支发展...."。这是为什么?

> $ git status 
> On branch develop
> Your branch is up-to-date with 'origin/develop'.
> nothing to commit, working directory clean
> 
> $ git push --set-upstream origin develop --quiet
> Branch develop set up to track remote branch develop from origin.

2 个答案:

答案 0 :(得分:5)

正在生成该消息的--set-upstreampush完全安静。 --set-upstream实际上是对git branch -u upstream/foo的征集。如果您希望git branch保持沉默,则需要使用自己的--quiet选项自行调用。

答案 1 :(得分:1)

"git push --quiet --set-upstream``"(man) 在设置上游分支配置时确实不安静。

这已在 Git 2.32(2021 年第二季度)中得到纠正。

请参阅 commit f3cce89Øystein Walle (Osse)(2021 年 4 月 15 日)。
(2021 年 4 月 30 日在 Junio C Hamano -- gitster --commit a819e2b 合并)

<块引用>

transport:在设置上游时尊重冗长

签字人:Øystein Walle

<块引用>

诸如 git push(man) -qu origin feature 之类的命令将打印“Branch 'feature' set up to track remote branch 'feature' from 'origin' .”即使通过了 --quiet
在这种情况下,这是因为 install_branch_config() 总是用 BRANCH_CONFIG_VERBOSE 调用。

struct transport 跟踪所需的详细程度。
通过基于此有条件地传递 BRANCH_CONFIG_VERBOSE 来解决上述问题。

现在应该安静了:

git push --quiet -u --no-progress upstream main