GitHub删除远程main分支报错refusing to delete the current branch
报错原因
这个报错里提到的「当前分支」和你本地切换的分支没有关系,指的是GitHub远程仓库设置里指定的默认分支。GitHub有内置的硬性规则:不允许直接删除仓库的默认分支,不管你本地切到了哪个分支,只要远程没修改默认分支设置,删除main分支的请求都会被直接拦截返回报错。
解决方法
按以下步骤操作即可正常完成删除:
- 先打开目标GitHub仓库的设置页面,找到分支管理板块,把仓库默认分支从main修改为仓库内已经存在的其他分支(注意要切换的目标分支必须提前推送到远程仓库,否则设置下拉列表里找不到对应选项),按照页面提示确认修改即可。
- 默认分支修改完成后,回到本地终端重新执行删除远程分支的命令:
git push origin :main - 如果后续你仍需要将main作为仓库默认分支,等所有分支调整操作全部完成后,再回到分支设置页把默认分支切回main即可。
内容的提问来源于stack exchange,提问作者Davy
相关产品推荐
相关产品推荐

