当我收到错误时如何删除远程分支?

时间:2011-04-19 22:29:59

标签: git git-branch gitolite

我尝试了以下命令但失败了。

git push origin :next
remote: error: denying ref deletion for refs/heads/next
To blah.git
 ! [remote rejected] next (deletion prohibited)
error: failed to push some refs to 'blah.git

我正在使用gitolite,并且在钩子中找不到任何此错误消息。如何禁用它以便我可以删除或重命名此远程分支?当我运行git branch -r -d origin / next时,它似乎消失了,但下一个git pull将它带回来。

2 个答案:

答案 0 :(得分:5)

请确保在您的gitolite配置中,您有倒带标记,而不是RW使用RW+。这将允许您删除分支和提交。

git push -f origin :next

答案 1 :(得分:4)

这看起来就像您尝试推送到具有denyDeletes = true的仓库时出现的错误。它旨在禁止您重写遥控器中的历史记录(通常伴随denyNonFastForwards = true)。在这种情况下,您只能通过删除遥控器上的分支来删除分支; --force无效。