git push =出错! [远程拒绝]主人 - >主人(预先接收挂钩拒绝)

时间:2014-01-28 14:15:30

标签: git bitbucket

我认为,这是一个与此不同的问题(remote rejected master -> master (pre-receive hook declined)),很多人都面临同样的问题,所以我在这里发布一个新的。

我的朋友在bitbucket.org上添加了我作为管理员,以便我可以帮助他的项目。所以,我想从我当地的最新代码开始。

我遵循的步骤:

  1. 转到空文件夹
  2. git init
  3. git remote -v(这什么都没有)
  4. git remote add origin <path to git repo>
  5. git remote add master <path to git repo>
  6. git remote -v(这显示了fetch和push in括号)
  7. git fetch origin master
  8. git pull origin master(我现在有最新的代码,所有文件和文件夹)
  9. touch test(让测试“测试”提交)
  10. git status
  11. git add .
  12. git commit -m "testing, first commit"
  13. git push origin master
  14. 错误:

    Counting objects: 4, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 274 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    remote: permission denied to update branch master
    To '<repo path>'
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to '<repo path>'
    

6 个答案:

答案 0 :(得分:34)

看起来bitbucket中的分支管理(管理员设置之一)已配置为仅允许某些人直接推送到主人。

尝试创建分支 - git checkout -b test,创建测试提交并推送git push origin test:test。完成测试后,您始终可以干净地删除此分支。

另一个选项(可能最适合设置此选项的人)是您前往bitbucket并前往管理员,分支机构管理并删除master限制。 cf - https://confluence.atlassian.com/display/BITBUCKET/Branch+management

答案 1 :(得分:2)

只报告导致指定错误的另一个案例。如果Bitbucket存储库大小达到2 GB,Bitbucket本身会将存储库限制为只读访问。 当发生这种情况时,具有读/写权限的贡献者无法推送并获得“预接收挂钩拒绝”错误。

我还从Atlassian找到了这些文件: https://blog.bitbucket.org/2014/05/30/repository-size-limits/ https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html

链接包含有关如何将回购还原为完整功能的指南

答案 2 :(得分:1)

我认为包setuptools / distribute列在requirements.txt中。请删除它。

答案 3 :(得分:0)

对我有用的是:

  1. 在本地创建新分支
  2. Bitbucket - &gt;设置 - &gt;存储库详细信息=更改了默认分支(例如prod)
  3. Bitbucket - &gt;分支 - &gt;删除主分支(您可以在没有第2步的情况下执行此操作)
  4. 然后推送您本地创建的分支(例如主人)
  5. Bitbucket - &gt;设置 - &gt;存储库详细信息=已更改的默认分支(例如,主控)

答案 4 :(得分:0)

我在Bitbucket上有更好的解决方案: 如果您是管理员,请转到回购&gt;设置&gt;限制推送部分,并在&#34;分支名称&#34; put&#39; master&#39;和in&#34; .. search ... user&#34;把你的用户名 - 然后按&#34; ADD&#34; - 你完成了:)

答案 5 :(得分:0)

我在gitlab上遇到了同样的问题,我要求回购所有者授予我maintainer的角色,问题已得到解决。