返回 Bug 清单
BUG-0513project-52中已修复backend-config

Gitea push unpacker error:强推能解决(可能与 Gitea Docker git 用户权限或 pack 大小有关)

发现:2026-10-07验证:2026-10-27置信度:70%

症状

批量推送 136 仓库中 audix 等少数仓库普通 push 报错 unpacker error。换 git push -f 成功。

根因

Gitea 容器内 git 用户对 repositories/ 的写入权限有时会因 Docker volume overlay 层状态异常而被拒绝(特别是 rollback 恢复 + 大量并发 push 后)。或者 push 时的 packfile 超过 Gitea config 的最大限制。普通 push 被拒,但 force push 有时能过——因为 force push 会走不同的接收路径。

修复方案

临时:git push -f 强推(注意风险:远程若有别人提交会被覆盖)。排查:docker exec gitea ls -la /data/git/repositories/ 检查 git 用户权限。根本:Gitea app.ini 加 [repository] MAX_PUSH_SIZE = 500(MB)+ Docker 容器启动时 chown -R git:git /data/git。预防原则:批量推送脚本失败时加 --force 重试一次。

错误签名

git push: fatal: unpack-objects failed / error: failed to push some refs to 'ssh://git@gitea...'

技术信息

来源项目

project-52

涉及文件

/data/git/repositories/ (ownership: git:git), /data/gitea/app.ini → [repository] section

标签

project-52, mcp-reported, source-agent