这个仓库是个 go mod 的 monorepo , 打的 tag 是用来给 ./tencentcloud 路径下面的 300 多个 go mod 子模块发版的。一个子模块要发一个新版就得专门打一个 tag ,所以会出现一个 commit 打多个 tag 的情况。 这也是为啥不能直接把旧 tag 一删了之。
你在 aws-sdk-go-v2 仓库的 5w 个 tag 和 googleapis/google-cloud-go 仓库的 5k 的 tag 也是同理。
@Trim21 你这样说好像我目前也是这个问题,我每次发布版本的时候,虽然子模块没有任何内容更新,我也必须要打个 tag ,因为统一版本号的问题(每次发布版本,所有的子模块都必须统一版本号),虽然可以通过 关联的方式记录版本,但是这种记录方式很容易导致人为出错,所以我现在也有这个问题,10 个模块,哪怕其中一个模块修改了一行代码,然后就会出现每隔模块都打一个 tag ,这样然和一个版本出现问题,只需要找到对应版本的 tag 就好了。我不清楚是否有更好的方案可以解决这个问题,当然我们版本提交很少,远远不可能达到这个数量。
Belmode
112 天前
去年不是还有个人吐槽 nodejs 的 npm sdk 里面塞了一坨吗 哈哈哈哈哈哈哈
crysislinux
112 天前
@dssxzuxc 我觉得有个原因是 tag 支持搜索,如果一次加载完的话就可以在前端搜索,分页的话就需要引入搜索引擎来处理 tag 了。