如何在GitHub中创建标签而不创建发行版?

问题描述

从ANT到Gradle,我将对我的项目进行重大技术更改。该项目从未发布过-它仍在开发中。我想标记最新的旧技术版本,以便可以将其用作参考或还原。但我不想暗示有任何形式的发布。

[附加的想法:我希望有些感兴趣的人看到发布,并认为它可能是可用的“发布”。也就是说,我认为发行版是针对用户的,而标记则是针对开发人员的。 ]

我希望不需要我进入Git命令行的答案,但是如果有必要,请假设我忘记了我曾经尝试学习的知识。

@Randomdsdevel在对问题create-a-tag-in-a-github-repository的答案的评论中说:

[S]您是否能够创建不会在发布时被GitHub自动获取标签??

然后

不久前,我向GitHub提交了一个支持请求,但是当时他们有一些支持积压,所以我的请求已关闭

解决方法

最简单的解决方案是在GitHub UI中创建一个发布,然后删除该发布。
这将删除版本,但标签将保持不变,这将是您解决问题的方法。

希望这对您有用。 ?

,

我希望我已经在分支机构做到了。

现在还为时不晚,而且不会丢失任何历史记录。

立即关闭master分支,这将使您的Ant-> Gradle工作。

git branch ant_to_gradle master

将master移回上一次稳定提交。

git checkout master
git reset --hard <last stable commit>

Gently force push重置主分支。

git push --force-with-lease

继续研究ant_to_gradle,让master独自一人。

是的,这涉及到命令行。我喜欢GitUp,有些Git应用程序会为您做到这一点,但我的建议是让您熟悉命令行。应用是有用的,但有限制。

但是,仍然留有标记合并前主版本的问题,以防万一我以后要参考它。

您可以在本地对其进行标记,而不必按标记。

您可以标记它并相信,如果有人看到名为pre-gradle的发行版,他们就会知道他们正在进入什么领域。您也可以edit a release to mark it a pre-release

但是我的建议是不要用“以防万一,我需要它”标签乱扔您的仓库,而要进行可搜索的提交并获得舒适的搜索历史。因为您不会总是想做一个标签。如果在“合并请求”中合并您的工作,Github将产生一致的合并提交消息,例如Merge pull request #1859 from ant_to_gradle。然后,您可以搜索该内容以找到合并提交并向后看。

,

总结到目前为止我使用GitHub创建不发布的标签的经验:

我可以创建一个发行版,但是它要求我的标签名称开头必须有一个版本,例如

v0.0-MyTagName

如果我delete the release,该标签仍会显示在标签列表(以及发布列表)下,但至少不会像发布时那样显示在标题类型中。 / p>

这时,我可以编辑标签名称以摆脱“ v0.0-”,剩下我真正想要的名称。看起来您可以切换到编辑发行版,但是除非您添加标题,否则它将保留为标签。现在,即使标签名称显示在版本列表中,它也不像是版本。

使用git而不是GitHub,您也许可以做更多的事情。

我在GitHub Desktop中找不到标签或版本。如果您只想查看分支机构中的代码,则必须在线进行。当然,如果要修改标记处的代码,则需要创建一个分支。分支在GitHub Desktop中可见。