我无法在 git 上删除远程 master 分支
Posted
技术标签:
【中文标题】我无法在 git 上删除远程 master 分支【英文标题】:I can't delete a remote master branch on git 【发布时间】:2012-08-25 21:10:38 【问题描述】:我需要删除一个 master 分支,但事实证明这很难。我只想清理那个分支并开始新的。我正在从 dev 分支中删除。我希望 GitHub 上的 master 干净。
# git push origin --delete master
> To https://github.com/mymasterb.git ! [remote rejected] master
> (deletion of the current branch prohibited) error: failed to push some
> refs to 'https://github.com/mymaster.git'
我如何简单地从新开始我的主人?
【问题讨论】:
你所说的“新鲜的石板”是什么意思?您希望您的主分支完全为空,但您希望所有其他分支仍然存在? 可能跨站重复:superuser.com/questions/294407/cant-remove-remote-branch-in-git How do I change a Git remote HEAD to point to something besides "master" 的可能副本。重复,因为它说deletion of the current branch prohibited
很明显,必须更改当前分支,这就是接受的答案所解释的。这正是建议的副本中所解释的内容,包括由于标签而导致的 github 解决方案。
【参考方案1】:
要从字面上回答问题(因为 GitHub 不在问题标题中),还要注意超级用户上的 this post。 编辑:在相关部分复制了此处的答案,为了清楚起见,在方括号中稍作修改:
您被拒绝了,因为您试图删除您的来源当前已“签出”的分支。
如果你可以直接访问 repo,你可以打开一个 shell [in the bare repo] 目录并使用旧的
git branch
来查看当前分支的来源。要将其更改为另一个分支,您必须使用git symbolic-ref HEAD refs/heads/another-branch
。
【讨论】:
@zedfoxus,我愿意考虑 - 但主帖下方的添加评论框显示“避免在 cmets 中回答问题”。我认为我的答案是对所提出的字面问题的回答。但也许我错过了你的角度? 我在想,如果这是一条评论,那么一些链接将在 cmets 下保留在一起,而解释将作为答案保留。但重要的是你的想法。我对你的思考过程也很好,这可以作为一个答案。 这应该是公认的答案。也许,@dave_k_smith,你愿意用关于超级用户的帖子信息来扩展你的答案? 有趣,而且比我的“面向 github”的答案更通用。赞成。 这就是答案【参考方案2】:最快的方法是将默认分支从 master 切换到另一个 您可以从 web 界面中删除 master 分支。
【讨论】:
【参考方案3】:正如 Matthew Brett 在“Deleting your master branch”中所解释的,您需要更改 GitHub 存储库默认分支。
您需要转到您的分叉存储库的 GitHub 页面,然后单击“设置”按钮。
单击左侧的“分支”选项卡。屏幕顶部附近有一个“默认分支”下拉列表。
从那里,选择占位符(其中占位符是您的新默认分支的虚拟名称)。
确认您要更改默认分支。
现在你可以做(从命令行):
git push origin :master
或者,从 2012 年开始,您可以delete that same branch directly on GitHub:
那是announced in Sept. 2013,在我最初写下这个答案一年之后。
对于文档修复、拼写错误等小改动,或者如果您只是一个行走的软件编译器,您可以在浏览器中完成很多工作,而无需将整个存储库克隆到您的计算机上。
注意:对于 BitBucket,Tum 报告 in the comments:
Bitbucket 也差不多
Repo -> Settings -> Repository details -> Main branch
【讨论】:
注意:“占位符”是除 master 之外的任何其他分支的示例。这个想法是将 another 分支定义为 Github repo 默认分支。 @Tampa 我已经编辑了我的答案,以反映不再有绿色勾号的事实。 @alpha_989 在裸仓库中,要更改默认分支,请设置符号引用:***.com/a/3302018/6309 谢谢! Bitbucket 也差不多。回购 -> 设置 -> 存储库详细信息 -> 主分支 @Tum 谢谢。我已将您的评论包含在答案中以提高知名度。以上是关于我无法在 git 上删除远程 master 分支的主要内容,如果未能解决你的问题,请参考以下文章