我有一个repository on a github

这是图形:

这是我的 Action 顺序:

  • 提交5次提交并将其推送
  • 添加标签 v0.2.0 (git tag -a v0.2.0 -m "release 0.2.0")
  • 推送标签(git push --tags origin master)
  • 通过Draft在github站点上发布新的发布按钮进行发布。我选择了 v0.2.0 标记并获得了https://github.com/n1k1ch/PrototypeGit/releases/tag/v0.2.0
  • 将标签添加到上一次提交(git tag -a v0.1.0 b217332279 -m "release 0.1.0")
  • 推送标签(git push --tags origin master)
  • 通过Draft发行一个带有 v0.1.0 标记的新版本,并获得https://github.com/n1k1ch/PrototypeGit/releases/tag/v0.1.0

  • 因此,v0.1.0标签变为最新版本

    题:

    我是否可以将 v0.1.0 版本与 v0.2.0 版本交换为 v0.2.0 成为最新版本

    附言googling "github swap release"没有帮助

    编辑:

    感谢@Chris,我做到了。一个小注意事项-在Windows上我使用了:
    SET GIT_COMMITTER_DATE="2014-04-02 23:00"
    git tag -a v0.1.0 b217332279 -m "release 0.1.0"
    git push --tags origin master
    

    就算有人感兴趣,此后我也会看到:

    我打开了 v0.1.0 ,然后按发布发布
    结果是:


    我也收到了来自[email protected]的答案:

    最佳答案

    我不知道直接在GitHub中执行任何操作的方法。 “最新版本”是由标签上的时间戳确定的,而不是由标签名称的语义决定的。

    过去,我已经通过删除有问题的旧标签在自己的个人项目中解决了此问题:

    git tag -d v0.1.0
    git push --delete origin v0.1.0
    

    并使用假日期重新创建它:
    GIT_COMMITTER_DATE="2013-12-31 00:00" git tag -a v0.1.0.1 b217332279 -m "release 0.1.0.1"
    git push --tags origin master
    

    记录在the manpage for git-tag 中:



    请注意,该手册页强烈建议您不要重复使用相同的标签名:



    这看起来有点复杂吗?应该是,应该是。仅仅自动“修复”它是不可能的。人们需要知道他们的标签可能已更改。

    如果您的项目相对隔离,并且您可以可靠地联系可能使用该代码的每个人,那么我只会重用同一标签。

    有关删除远程标签的更多详细信息,请查看this question

    关于git - 在github上交换 “Latest release”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22822586/

    10-13 07:12