是否需要 -u 来推送 Git 标签?

Is -u ever needed for pushing Git tags?

使用 Git --set-upstream 标志(或 -u)为 git push 使您的本地分支成为服务器的跟踪分支;你只需要做一次,例如:

git push -u origin master

之后您可以简单地执行以下操作。 (我知道还有更短的形式,但我才开始回答我的主要问题。)

git push origin master

推送标签采用相同的形式,例如对于 "v1.0" 标签:

git push origin v1.0

但是标签(通常)保持指向单个提交;我没有看到 "track" 有任何内容。那么推送标签时是否需要使用-u

我没有看到在 Pro Git, Second Edition. However the instruction page for importing new repositories on Bitbucket 中使用带标签的 -u 明确表示要使用 -u:

git push -u origin --tags

这是 Bitbucket 上的拼写错误,还是在推送 Git 标签时指定 -u 有某种目的?

更新: 根据此处的答案,我向 Atlassian 提出了一个问题,他们修复了拼写错误(显然是这样)。谢谢!

git tag 确实有一个 -u 选项。然而,它应该用于使用给定密钥对标签进行签名,而不是向上游推送。

https://git-scm.com/docs/git-tag

这似乎是 Bitbucket 的疏忽。