导语
部门使用的代码管理仓库是gitlab,随着业务发展,代码量也越来越大,到目前已经大于100M,今天新入职员工全量拉取代码时候报错,查找原因是因为代码仓库太大导致拉取超时。 这里记录下处理过程
报错
fatal: early EOF
fatal: The remote end hung up unexpectedly
fatal: index-pack failed
error: RPC failed; result=18, HTTP code = 200
解决
因为这边使用的docker搭建的gitlab,处理方式有点不同
必须先进入到gitlab容器中去操作,重启 gitlab 也必须是进入到docker 容器中重启,
否则从服务器直接重启容器会导致配置丢失,恢复成默认值
nginx client_max_body_size
之前修改过gitlab前端nginx的 client_max_body_size 大小,确保上传下载超大文件的可能性
vi /etc/nginx/nginx.conf
client_max_body_size 50M;
## check and reload nginx config
nginx -t
nginx -s reload
gitlab timeout
## need to enter gitlab container firstly
## then edit the config
vi config/unicorn.rb
timeout 300
## then restart gitlab in container
## remember that must be in container
/etc/init.d/gitlab restart
git http.postBuffer
另外建议也修改下本地 http.postBuffer 参数
## modify in commandline
git config --global http.postBuffer 524288000
## check config list
git config --list
最后重新拉取,没有问题