“git push”到 Bitbucket 时的错误是“!” [远程拒绝] master -> master(预接收挂钩被拒绝)`

问题描述 投票:0回答:8

我认为,这是一个与此不同的问题(远程拒绝主控->主控(预接收挂钩拒绝)),并且很多人都面临着同样的问题,所以我在这里发布一个新问题。

我的朋友在 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
    (这显示了括号中的获取和推入)
  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

错误:

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>'
git permissions bitbucket permission-denied
8个回答
61
投票

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

尝试创建一个分支 -

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

另一个选择(可能最适合设置此选项的人)是您转到

bitbucket
并前往管理员、分支管理并删除
master
过于受限。 cf - https://confluence.atlassian.com/display/BITBUCKET/Branch+management


4
投票

仅报告导致指定错误的另一个案例。如果 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
投票

我在Bitbucket上有更好的解决方案: 如果您是管理员,请转到“Repo”>“设置”>“限制推送”部分,然后在“分支名称”中输入“master”,在“..搜索...用户”中输入您的用户名 - 然后按“ADD” - 然后您就可以了完成:)


1
投票

我认为 setuptools/distribute 包已在 requests.txt 中列出。请删除相同的。


0
投票

与我在 gitlab 上遇到的同样的问题,我请求仓库所有者授予我

maintainer
角色并解决了问题。


0
投票

另一个场景-> 我也遇到了这个问题,我还配置了全局参数,尝试了分支等,但它对我不起作用。

问题如下 -> 我最近加入了现在的公司,在我的 Bitbucket 凭证被激活之前,我一直在使用其他人的凭证来访问 Jira、Bitbucket 等。 现在,此凭据已保存在 Windows 中的“Credential Manager”内。 删除其他同事凭据后,它对我来说效果很好。


0
投票

我想强制推送我的票务分支,但被拒绝了。 转到

Repository settings
->
Hooks
-> 发现
Reject Force Push
已启用,并将其禁用。
使用需要您自担风险。


-2
投票

对我有用的是:

  1. 在本地创建了一个新分支
  2. Bitbucket -> 设置 -> 存储库详细信息 = 更改默认分支(例如,更改为 prod)
  3. Bitbucket -> 分支 -> 删除主分支(无需第 2 步即可执行此操作)
  4. 然后推送本地创建的分支(例如 master)
  5. Bitbucket -> 设置 -> 存储库详细信息 = 更改默认分支(例如更改为 master)
© www.soinside.com 2019 - 2024. All rights reserved.