【发布时间】:2015-10-01 07:59:13
【问题描述】:
我最近发布了一个私有存储库,但是在发布时我犯了一个错误,即使用开发分支作为目标分支来发布它。现在我希望该版本针对主分支而不是开发。
如何将目标分支改为master?
注意:当我进行编辑时,更改目标分支的选项会出现一秒钟然后消失。
我需要为此创建一个新分支吗?
【问题讨论】:
我最近发布了一个私有存储库,但是在发布时我犯了一个错误,即使用开发分支作为目标分支来发布它。现在我希望该版本针对主分支而不是开发。
如何将目标分支改为master?
注意:当我进行编辑时,更改目标分支的选项会出现一秒钟然后消失。
我需要为此创建一个新分支吗?
【问题讨论】:
我同意 @parsenz 的观点,即无法在 GitHub 上执行此操作(自 Enterprise v2.1 起)。您将不得不删除并重新创建。我不是 git 专家,但这是我在 GitHub 上将版本从一个分支“移动”到另一个分支所遵循的步骤:
在 GitHub(网页界面)中:
然后在 git bash 中:
git push --delete origin <tag_name> // deletes remote taggit tag -d <tag_name> // deletes local taggit checkout <commit_hash>git tag <tag_name>git push origin <tag_name>git checkout <branch_name>(返回上一个分支)返回 GitHub:
注意:这通常是因为发布是针对错误的分支创建的。您可以在存储库设置中为 GitHub 存储库设置默认分支(右侧选项卡导航中的工具图标)。
【讨论】:
我认为你不能在 Github 上。您必须删除该版本并重新创建它。 我通过在控制台中输入以下内容解决了这个问题:
git push origin :refs/tags/{old_tag_name}
然后重新创建发布
【讨论】:
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-branch 和my-awesome-tag 分别是您要定位的分支和要更新的标记
【讨论】: