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

Git Push遇[remote rejected]错误:.git/objects目录权限问题求助

Git Push失败:.git/objects目录权限异常的解决办法

先贴出你遇到的错误日志:

Enumerating objects: 38, done.
Counting objects: 100% (38/38), done.
Delta compression using up to 8 threads
Compressing objects: 100% (21/21), done.
Writing objects: 100% (22/22), 14.40 KiB | 921.00 KiB/s, done.
Total 22 (delta 17), reused 0 (delta 0), pack-reused 0
error: unable to write file ./objects/ec/3a800eea2d9c0fd32db2d5943c2c059ab79b10: Permission denied
To ssh://mysshAdress.git
 ! [remote rejected]   feat/ficha-28-09-wtdb -> feat/ficha-28-09-wtdb (unable to migrate objects to permanent storage)
error: failed to push some refs to 'ssh://mysshAdress.git'

这种问题大概率是本地或远程仓库的.git/objects目录权限错乱导致的,给你几个靠谱的解决步骤:

本地仓库权限修复

  • 如果你之前用sudo执行过Git命令,大概率是.git目录被root用户接管了,直接把所有权改回当前用户:
    sudo chown -R $USER:$USER .git
    
  • 要是权限还是有问题,可以重置Git目录的标准权限(文件644,目录755):
    find .git -type f -exec chmod 644 {} \; && find .git -type d -exec chmod 755 {} \;
    

远程仓库权限修复

错误里出现了remote rejected,说明远程仓库的对象存储目录也可能有权限问题:

  • 登录到你的远程服务器,找到仓库的路径(比如/var/git/repos/your-repo.git)
  • 同样修改所有权(假设远程用git用户管理仓库):
    sudo chown -R git:git /path/to/your/repo.git
    
  • 重置远程仓库的权限:
    find /path/to/your/repo.git -type f -exec chmod 644 {} \; && find /path/to/your/repo.git -type d -exec chmod 755 {} \;
    

其他排查点

  • 检查本地磁盘是不是满了?虽然错误提示是权限,但磁盘满也可能触发类似报错
  • 如果是协作仓库,问问其他开发者有没有修改过远程仓库的权限配置

内容的提问来源于stack exchange,提问作者luigi160'

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:20:33