101

我需要删除一个主分支,但事实证明这很难。我只想清理那个分支并开始新的。我正在从 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'

我如何简单地从一个新的石板开始我的主人?

4

3 回答 3

163

正如Matthew Brett在“删除您的主分支”中所解释的,您需要更改您的 GitHub 存储库默认分支

您需要转到您的分叉存储库的 GitHub 页面,然后单击“设置”按钮。

单击左侧的“分支”选项卡。屏幕顶部附近有一个“默认分支”下拉列表。

从那里,选择占位符(其中占位符是您的新默认分支的虚拟名称)。

确认您要更改默认分支。

现在你可以(从命令行):

git push origin :master

或者,自 2012 年以来,您可以直接在 GitHub 上删除相同的分支

GitHub删除

这是在 2013 年 9 月宣布的,也就是我最初写下这个答案的一年后。

对于文档修复、拼写错误等小的更改,或者如果您只是一个行走的软件编译器,您可以在浏览器中完成很多工作,而无需将整个存储库克隆到您的计算机上


注意:对于 BitBucket,Tum在评论中报告:

Bitbucket 也差不多

Repo -> Settings -> Repository details -> Main branch
于 2012-08-31T04:19:24.657 回答
16

要从字面上回答这个问题(因为 GitHub 不在问题标题中),还要注意超级用户上的这篇文章。编辑:在相关部分复制了此处的答案,为了清楚起见,在方括号中稍作修改:

您被拒绝是因为您试图删除您的来源当前已“签出”的分支。

如果你可以直接访问 repo,你可以打开一个 shell [in the bare repo] 目录并使用 good oldgit branch查看当前分支的来源。要将其更改为另一个分支,您必须使用git symbolic-ref HEAD refs/heads/another-branch.

于 2020-03-07T18:43:38.093 回答
7

最快的方法是将默认分支从 master 切换到另一个 ,您可以从 web 界面中删除 master 分支

于 2018-12-02T16:33:40.350 回答