【问题标题】:GitHub: A tag but not a releaseGitHub:一个标签,但不是一个发布
【发布时间】:2015-04-14 07:13:55
【问题描述】:

我想标记某个提交。当我推送标签时,GitHub 认为它是一个发布版本,我不希望这样。

有没有办法只推送标签而不释放?

【问题讨论】:

  • 你怎么知道 «GitHub 假定它是一个版本»?
  • 当我推送一个标签时,它被添加为一个版本。
  • 删除版本。这留下了标签。

标签: git github git-tag


【解决方案1】:

GitHub,默认情况下,在你推送标签时创建一个“发布”点(就像你可以see in my project一样),但这并不意味着它会创建一个实际的发布。

默认情况下,标签有一个与该标签相关联的可交付成果,即 repo 的压缩源。

创建发布意味着关联其他您可能希望在该标签/发布下发布的可交付成果(可执行文件或其他二进制文件)。
但如果您不想添加任何文件(源文件除外),则无需添加。

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

只要您不将二进制文件上传到新版本,您推送的标签不代表版本。


更新

截至 2017 年 5 月 31 日,Github 支持表示“目前不可能,因为所有标签都会出现在 [发布] 列表中”——不过,他们表示会将其作为功能请求传递。


2018-04-17 “new request on Github community”表示它在功能请求中。


2021-10-04:new public beta of GitHub Releases 状态:

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

【讨论】:

  • @VonC 这似乎不再是真的。您的所有标签都显示在发布和标签选项卡上。
  • 发布和发布占位符有什么区别?无论哪种方式,它都会显示在公共“发布”选项卡、压缩源和所有内容下,这就是整个问题。 我不想要发布
  • 所以,换句话说,答案是,不,没有发布就不能拥有标签。我标记了两个不在 master 上的提交,它们都显示在 Releases 下。它与提交所在的分支无关(无论如何这毫无意义,因为许多 releases 发生在分支上)。
  • @LukeMaurer 我怀疑 GitHub 不会将这些标签视为实际发布,除非您在 help.github.com/articles/creating-releases 中明确创建一个标签
  • 啊,这可能是问题所在——它们实际上并没有被列为发行版,如果没有任何实际发行版,它们只是看起来。那么 UI 问题。
【解决方案2】:

让我们的新版本 UI 刷新一下,我们更改了默认行为,不再在版本列表中显示没有版本的标签

https://github.blog/2021-10-04-beta-github-releases-improving-release-experience/

【讨论】:

  • 好点。赞成。我已更新我的答案以引用新的 GitHub 更新。
  • 这个新功能是否可以通过 API (octokit) 获得?似乎POST /repos/{owner}/{repo}/git/tags 总是创建一个发布,我看不到任何选项告诉它只创建一个没有发布的标签。
猜你喜欢
  • 2023-02-22
  • 1970-01-01
  • 2020-07-12
  • 1970-01-01
  • 2021-01-04
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
  • 2012-04-30
相关资源
最近更新 更多