无法上传200MB以上的Git LFS对象,求解决方案
解决Git LFS推大文件到自研S3兼容存储失败的问题
针对你遇到的200MB文件Git LFS上传进度100%后重试失败的问题,可从以下几个方向排查解决:
调整Git LFS分片上传配置
自研S3兼容存储可能对分片大小或数量的支持与标准S3有差异,尝试修改LFS分片大小:git config lfs.transfer.maxchunk 100MB之后重新推送文件,看是否能完成上传。
检查GitLab自身的LFS大小限制
即使Nginx已经放开大小限制,GitLab自身可能存在LFS文件大小限制。修改/etc/gitlab/gitlab.rb中的配置:gitlab_rails['lfs_max_size'] = '250MB' # 设置为大于200MB的值修改后执行
gitlab-ctl reconfigure和gitlab-ctl restart生效。延长Nginx超时参数
大文件上传耗时较长,默认Nginx超时设置可能导致连接断开。在gitlab-http.conf中添加或修改以下参数:proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s;重启Nginx服务后重试上传。
排查自研S3存储的分片合并逻辑
进度到100%后失败,大概率是分片上传完成后的合并步骤出问题。检查自研存储是否正确实现了S3的分片合并API(CompleteMultipartUpload),是否存在合并超时或权限问题。开启Git LFS日志定位具体错误
执行带日志的推送命令,获取详细错误信息:GIT_TRACE_LFS=1 git push根据日志中的错误代码(如408超时、500服务端错误)针对性排查。
内容的提问来源于stack exchange,提问作者Corinari
相关产品推荐
相关产品推荐

