我无法在git上删除远程主分支

时间:2012-08-31 04:05:25

标签: git github

我需要删除一个主分支,但事实证明它很难。我只是想清理那个分支并开始新的。我从开发分支删除。我希望GitHub上的主人干净。

 # 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 个答案:

答案 0 :(得分:102)

如Matthew Brett在“Deleting your master branch”中所述,您需要更改GitHub repo默认分支

  

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

     

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

     

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

     

确认您要更改默认分支。

     

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

git push origin :master

或者,自2012年起,您可以delete that same branch directly on GitHub

GitHub deletion

那是announced in Sept. 2013,也就是我最初写这个答案一年后。

  

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


注意:对于BitBucket,Tum报告in the comments

  

Bitbucket的内容大致相同

Repo -> Settings -> Repository details -> Main branch

答案 1 :(得分:8)

要从字面上回答问题(因为GitHub不在问题标题中),还请注意超级用户上的this post编辑:答案复制到相关部分的此处,并稍作修改,以使方括号清晰可见:

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

如果您可以直接访问该存储库,则只需在[裸存储库]目录中打开一个shell,然后使用旧的git branch来查看当前分支源。要将其更改为另一个分支,必须使用git symbolic-ref HEAD refs/heads/another-branch

答案 2 :(得分:3)

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

答案 3 :(得分:-1)

在 git bash 上输入这个命令行,一切都会被修复,它对我有用 rm -rf .git