GitHub: 标签而非发布版本

61

我想给某个提交打标签。当我推送标签时,GitHub会认为它是一个发布版本,但我不想这样。

有没有一种方法只推送标签而不发布它?


1
你如何知道“GitHub认为它是一个发布版本”? - Alexey Ten
9
当我推送一个标签时,它会被添加为一个发布版。 - Alex Ferg
1
删除发布。这样标签就会留下来。 - Zephyr was a Friend of Mine
2个回答

25

GitHub默认情况下在您推送标签时会创建一个“发布”点(就像你可以在我的项目中看到的那样),但这并不意味着它会创建实际的发布。

默认情况下,标签只有与该标签关联的一个可交付项,即仓库的压缩源代码。

创建一个发布意味着关联其他可交付项(可执行文件或其他二进制文件),您可能希望在该标签/发布下发布它们。
但是,如果您不想添加任何其他文件(除了源文件),则无需这样做。

因此,默认情况下您没有任何发布,只有“发布占位符”(每个标签一个),供您创建发布。

只要您不向新发布上传二进制文件,您推送的标签就不代表一个发布。


更新

截至2017-05-31,GitHub支持表示“目前不可能,因为所有标记都将出现在[发布]列表中” - 他们说他们会将其作为功能请求传递。


2018-04-17,《Github社区的新请求》表示它是一项功能请求。


2021-10-04: GitHub发布的新公共测试版指出:

标记不再显示在发布列表视图中

releases


4
@VonC 这个说法似乎不再正确。你的所有标签现在都会出现在发布和标签选项卡中。 - Luna
7
发布和发布占位符有什么区别?无论哪种方式,它们都会出现在公共的“发布”选项卡下,包括所有压缩源码,这正是问题所在。我不想要一个发布 - Luke Maurer
3
换句话说,答案是“不行”,没有发布就不能有标签。我已经给两个不在主分支上的提交打了标签,它们都显示在发布版下面。这与提交所在的分支无关(因为许多 发布版 都来自于分支)。 - Luke Maurer
5
我猜想GitHub并不将那些标签视为真正的发布,除非你在https://help.github.com/articles/creating-releases/上明确创建一个发布。 - VonC
4
可能问题出在这里——它们实际上并没有被列为发布版本,只是如果没有任何实际的发布版本,它们看起来像是。那么这就是用户界面的问题了。 - Luke Maurer
显示剩余7条评论

2

这个新功能是否可以通过API(Octokit)使用?似乎POST /repos/{owner}/{repo}/git/tags总是创建一个发布,我没有看到任何选项可以告诉它仅创建标签而不是发布。 - scscsc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接