无法删除git中的远程分支

无法删除git中的远程分支,git,Git,我想从我的中央git存储库中删除一个远程分支。通常的建议是执行“git-push-origin:branchname”或“git-push-origin:heads/branchname”。但当我尝试此操作时,会收到以下错误消息: ***此存储库中不允许删除分支 错误:挂钩/更新退出,错误代码为1 错误:hook拒绝更新refs/heads/branchname 至/opt/repo/myrepo.git ! [远程拒绝]分支名称(拒绝挂钩) 错误:无法将某些引用推送到“/opt/repo/my

我想从我的中央git存储库中删除一个远程分支。通常的建议是执行“git-push-origin:branchname”或“git-push-origin:heads/branchname”。但当我尝试此操作时,会收到以下错误消息:

***此存储库中不允许删除分支
错误:挂钩/更新退出,错误代码为1
错误:hook拒绝更新refs/heads/branchname
至/opt/repo/myrepo.git
! [远程拒绝]分支名称(拒绝挂钩)
错误:无法将某些引用推送到“/opt/repo/myrepo.git”


有什么好处?如果有帮助的话,我正在使用git版本1.5.4.3。

您可能必须登录到远程存储库并手动删除分支(即从文件系统中删除)。

我认为这可能是消息所说的:远程存储库不允许删除任何历史记录。考虑不同的GIT托管(如果你不能调整你当前使用的设置),如果你真的需要这个功能。

< P>有人在远程回购中启用了一个禁止删除的钩子,这通常是这样做的,这样就不会有人把一个基于分支的分支推到回购中。(我维护了一个相当大的git存储库集合,它们都是以这种方式配置的,尽管没有使用钩子。)


查看远程存储库中的hooks/目录。将有一个名为“更新”的脚本;这就是拒绝您删除分支的原因。

存储库托管在本地(无论如何,它位于我有root访问权限的服务器上)。如果要启用此功能,可以对repo进行配置更改,我很想知道。谢谢!有了这些信息,我就能够解决这个问题:“git--git dir/opt/repo/myrepo.git config--bool hooks.allowdeletbranch true”。完成后,我可以使用“git push origin:branchname”删除远程分支。@twirlip:太棒了,很高兴你能修复它。我对答案投了反对票,因为它给出了一个提示,但在没有额外解释的情况下无法解决问题。相反,第一条评论起了神奇的作用:)需要更多的解释答案中没有更多细节的原因是有很多不同的方法可以做到这一点。精确的机制到位,因此精确的解决方案可能会有所不同。错误消息说明问题发生的位置;具体的解决方案取决于它的实施方式以及您对远程回购的控制级别。