我正在用一个安静的标志进行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.
答案 0 :(得分:5)
正在生成该消息的--set-upstream
。 push
完全安静。 --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