You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git执行push推送时报错failed to push some refs to该如何解决?

Git push权限报错分析与解决

从给出的报错日志中核心错误为remote: error: insufficient permission for adding an object to repository database ./objects,可直接定位问题根源为远端Git仓库目录权限配置异常。

报错原因

  • 你本地执行push操作使用的Git认证账号(SSH/HTTP认证账号),没有远端Git仓库存储目录下./objects文件夹的写入权限,导致本地推送的Git对象无法写入远端仓库数据库
  • 常见触发场景:
    • 自建远端Git服务器上,曾有高权限账号(如root)操作过仓库文件,修改了仓库目录/文件的所属权,覆盖了原有Git服务账号的权限
    • 远端仓库初始化时未正确配置权限,未给对应操作账号开放读写权限
    • Git服务运行账号与仓库文件所属账号不一致,比如Gitlab服务默认运行账号为git,但仓库目录所属用户为root,就会触发写入失败
    • 第三方托管平台上你的账号没有该仓库的写入权限,或认证信息已过期失效

对应解决方法

场景1:远端仓库部署在自己可登录的服务器

  1. 登录远端服务器,进入Git仓库的上级目录,比如仓库路径为/home/git/repos/demo.git,执行命令:
    cd /home/git/repos/
  2. 递归修改仓库目录的所属用户和用户组为Git服务对应的账号,以常用的git服务账号为例:
    sudo chown -R git:git demo.git/
  3. 递归修改仓库目录权限,确保同组用户有读写执行权限:
    sudo chmod -R 775 demo.git/
  4. 若为多人共享仓库,建议开启Git共享配置,避免后续再出现权限冲突,进入仓库目录执行:
    git config core.sharedRepository group

场景2:远端仓库为Github/Gitlab/Gitee等第三方托管平台

  • 首先确认你的账号在对应仓库中拥有写入权限,若为协作者请联系仓库管理员确认你的权限等级是否为可写,若为fork的上游仓库你没有直接推送权限,需提交PR申请合并
  • 检查本地Git的认证信息是否有效:SSH密钥是否已从平台账号中移除、HTTP使用的token/密码是否已过期,重新配置正确的认证信息后再执行push操作

内容的提问来源于stack exchange,提问作者Kenny Pan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:45:08