【问题标题】:How to change target branch of a release in GitHub?如何在 GitHub 中更改发布的目标分支?
【发布时间】:2015-10-01 07:59:13
【问题描述】:

我最近发布了一个私有存储库,但是在发布时我犯了一个错误,即使用开发分支作为目标分支来发布它。现在我希望该版本针对主分支而不是开发。

如何将目标分支改为master?
注意:当我进行编辑时,更改目标分支的选项会出现一秒钟然后消失。

我需要为此创建一个新分支吗?

【问题讨论】:

    标签: git github edit release


    【解决方案1】:

    我同意 @parsenz 的观点,即无法在 GitHub 上执行此操作(自 Enterprise v2.1 起)。您将不得不删除并重新创建。我不是 git 专家,但这是我在 GitHub 上将版本从一个分支“移动”到另一个分支所遵循的步骤:

    在 GitHub(网页界面)中:

    1. 获取发布和提交哈希的副本(通常来自拉取请求)
    2. 从 GitHub UI 中删除版本

    然后在 git bash 中:

    1. git push --delete origin <tag_name> // deletes remote tag
    2. git tag -d <tag_name> // deletes local tag
    3. git checkout <commit_hash>
    4. git tag <tag_name>
    5. git push origin <tag_name>
    6. [可选]git checkout <branch_name>(返回上一个分支)

    返回 GitHub:

    1. 在 GitHub UI 上使用相同的标签重新创建版本

    注意:这通常是因为发布是针对错误的分支创建的。您可以在存储库设置中为 GitHub 存储库设置默认分支(右侧选项卡导航中的工具图标)。

    【讨论】:

      【解决方案2】:

      我认为你不能在 Github 上。您必须删除该版本并重新创建它。 我通过在控制台中输入以下内容解决了这个问题:

      git push origin :refs/tags/{old_tag_name}
      

      然后重新创建发布

      【讨论】:

        【解决方案3】:
        git pull --tags # Get all releases
        commit=$(git rev-parse my-awesome-branch) # Get commit hash
        echo $commit > .git/refs/tags/my-awesome-tag # Change target commit
        git push --tags --force # Update tags on GitHub
        

        这里my-awesome-branchmy-awesome-tag 分别是您要定位的分支和要更新的标记

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-04-10
          • 2016-12-19
          • 1970-01-01
          • 1970-01-01
          • 2021-08-04
          相关资源
          最近更新 更多