7

我在删除远程分支(使用 git)时遇到了一些问题。
我已发出以下命令:

git push origin :newpdo

remote: Fatal: +refs/heads/newpdo myusername DENIED by fallthru <br>
remote: error: hook declined to update refs/heads/newpdo <br>
[remote rejected] newpdo &lt;hook declined &gt; <br>
error: failed to push some references to 'ssh://myssh path'

git push origin pdo但是,在“ ”期间我没有遇到任何问题

我错过了什么吗?


有什么建议么?

4

1 回答 1

12

远程:致命:+refs/heads/newpdo myusername 被fallthru 拒绝

"fallthru" 意味着 repo 可能由gitolite管理,它具有fallthru 规则

  • 此用户和此 repo 的所有规则都按照它们在 conf 文件中出现的顺序进行收集和检查
  • 对于每条规则:
    • 如果 ref 与 refex 不匹配,则跳过该规则。
    • 如果是拒绝规则,则拒绝访问并停止匹配。
    • 如果权限字段匹配特定类型的写入操作,则允许访问并停止匹配。
  • 如果没有规则以决定结尾(“fallthru”),则拒绝访问

在您的情况下,您无权删除分支。gitolite 的管理员( repo
的所有者)可以轻松地修改这些权利,以便授予您该功能。gitolite-admin

您可能有RW, 用于推送现有的 ref 或创建新的 ref。
但您可能没有,RW+ for " push -f" 或 ref 删除允许(即销毁信息或分支删除)。

于 2013-07-02T11:21:44.530 回答