为什么git默认不推送标签?

Dro*_*ror 9 git git-tag

Git的默认行为不是将标记从本地存储库推送到关联的远程存储库.在本回答中,解释了如何为单个存储库更改此行为.

我的问题是,为什么这是Git的设计行为?特别是设置自动推送标签的缺点是什么?

Von*_*onC 5

如果你考虑任何大项目的标签(内核linux,git本身 ......),你会看到数百个标签.

一个分布式 VCS是所有关于发布:你想推什么呢?
一切?每时每刻?

推送所有标签可能会污染上游仓库中的标签空间.

使用当前行为,您可以控制要发布到上游存储库的内容,供其他人查看.


请注意,自git 1.8.3(2013年4月)以来,它git push --follow-tags可以帮助您在一个命令中推送提交及其相关标签.

请参阅" 同时推送git提交和标记 ".