2016-07-11 87 views
2

我对这个GitHub的仓库中的单一分支(未掌握),现在我想重新命名它,由于某种原因,我得到这个错误:的Git拒绝删除分支

git push origin :OldName 
To [email protected]:user/gitRepo.git 
! [remote rejected] OldName (refusing to delete the current branch: refs/heads/OldName) 
error: failed to push some refs to '[email protected]:user/gitRepo.git' 

这是因为我没有任何主分支?这里是我的git branch -a

OldName 
remotes/origin/HEAD -> origin/OldName 
remotes/origin/OldName 

回答

4

如果从git branch -a输出是准确的,那么看来你只有一个分支OldName,单相应的分支通过GitHub上的同名。删除存储库中唯一的分支没有多大意义,因为那样在该存储库中不会有任何内容(不包括reflog,如果仍然存在的话)。

具体而言,错误可能是由于稍有不同的原因造成的。由于OldName分支是GitHub中唯一的分支,因此也很可能是默认分支用于存储库。 GitHub不允许你删除默认分支,因为这意味着浏览你的回购站的用户可能无法看到内容。

要解决这个问题,你可以从那里创造你想要的名称的分支,并执行删除操作:

本地

git checkout -b NewName # create a dummy branch from OldName 
git push origin NewName 

在GitHub上

将默认分支更改为NewName

本地(再次):

git push origin :OldName