Ошибка Git push: сбой RPC; результат = 22, HTTP-код = 502

#git #http #ssh #centos #gitlab

#git #http #ssh #centos #gitlab

Вопрос:

Я пытаюсь добавить большой проект в GitLab с помощью git, и у меня работает все, кроме папки. В эту папку входят все носители (только jpg и pdf) веб-сайта (5 ГБ).

Поэтому, если я сделаю: git add . , он добавит все, кроме этой папки. Который я должен добавить позже с помощью: add -f

Когда я пытаюсь нажать на эту папку, она выдает следующую ошибку:

 - Via http:

[aritz@localhost html]$ git push -u originhttp master
Username for 'https://gitlab.com': *******
Password for 'https://*******@gitlab.com':
Counting objects: 11006, done.
Compressing objects: 100% (9541/9541), done.
Writing objects: 100% (11003/11003), 2.99 GiB | 7.25 MiB/s, done.
Total 11003 (delta 895), reused 0 (delta 0)
error: RPC failed; result=22, HTTP code = 520
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

- Via SSH:

[aritz@localhost html]$ git push -u origin master
Counting objects: 11006, done.
Connection to gitlab.com closed by remote host.
fatal: The remote end hung up unexpectedly
Compressing objects: 100% (9541/9541), done.
error: pack-objects died of signal 13
error: failed to push some refs to 'git@gitlab.com:****/*********.git'
 

Что я пробовал:

 - Remove proxy
git config --global --unset http.proxy
git config --global --unset https.proxy

- Add data:
git config --global user.name ""
git config --global user.email ""

- Expand postBuffer:
git config --global http.postBuffer 157286400
git config --global http.postBuffer 524288000
 

Я также просмотрел журнал httpd, но не увидел ничего существенного. И разрешение папки такое же, как и у других файлов.

Наконец, в качестве альтернативного варианта я попытался создать пустой репозиторий только для этой папки:

В этом случае я могу выполнить добавление git. без необходимости принудительного выполнения. Но когда я пытаюсь нажать, это результат:

 - Via ssh:

[aritz@localhost resources]$ git push -u originssh master
Counting objects: 11086, done.
Connection to gitlab.com closed by remote host.
fatal: The remote end hung up unexpectedly
Compressing objects: 100% (9623/9623), done.
error: pack-objects died of signal 13
error: failed to push some refs to 'git@gitlab.com:*****/*********.git'

- Via http:

[aritz@localhost resources]$ git push -u origin master
Username for 'https://gitlab.com': ********
Password for 'https://********@gitlab.com': 
Counting objects: 11086, done.
Compressing objects: 100% (9623/9623), done.
Writing objects: 100% (11086/11086), 2.99 GiB | 5.97 MiB/s, done.
Total 11086 (delta 892), reused 0 (delta 0)
error: RPC failed; result=22, HTTP code = 502
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
 

В одной из моих многочисленных попыток мне удалось заставить его работать, но, хотя я считаю, что выполнил те же шаги, что и раньше, я не могу заставить его работать снова.

Ответ №1:

Если большие файлы представляют собой двоичные файлы, вы можете использовать Git LFS, это позволит хранить двоичные файлы отдельно от репозитория, если это не требуется, поэтому пользователям не нужно загружать весь репозиторий вместе с двоичными файлами, и это сэкономит время.

Более подробная информация о Git LFS на следующей веб-странице, https://docs.gitlab.com/ee/administration/lfs /

Комментарии:

1. Похоже, это мое решение. Я не знаю, должен ли GitLab принимать мои файлы или нет (это не очень большие файлы, но в целом они занимают 5 ГБ), но с помощью этого инструмента я смог сделать то, что хотел. Я не знал git LFS, большое вам спасибо! Я поставил вопрос как решенный