Git 的默认行为不是将标签从本地存储库推送到关联的远程存储库。在此答案中,解释了如何为单个存储库更改此行为。
我的问题是,为什么这是 Git 的设计行为?特别是设置自动推送标签有什么缺点?
如果您考虑任何大型项目的标签(内核 linux、git 本身,...),您会看到数百个标签。
分布式VCS 就是关于发布:你想推送什么?
一切?每时每刻?
推送所有标签会污染上游仓库的标签空间。
使用当前行为,您可以控制要发布到上游存储库的内容,以供其他人查看。
请注意,自 git 1.8.3(2013 年 4 月)以来,git push --follow-tags
可以帮助您在一个命令中推送提交及其相关标签。
请参阅“同时推送 git 提交和标签”。