Швидке рішення:
З такої помилки я зазвичай починаю з збільшення postBuffer
розміру на:
git config --global http.postBuffer 524288000
(деякі коментарі нижче повідомляють, що мають подвоїти значення):
git config --global http.postBuffer 1048576000
Більше інформації:
На git config
сторінці man , http.postBuffer
йдеться про:
Максимальний розмір у байтах буфера, який використовується інтелектуальним транспортом HTTP під час POSTing даних у віддалену систему.
Для запитів, більших за цей розмір буфера, HTTP / 1.1 і Transfer-Encoding: chunked
використовується, щоб уникнути створення масивного файлу пакета локально. За замовчуванням - 1 МіБ, що достатньо для більшості запитів.
Навіть для клону це може мати ефект, і в цьому випадку ОП Джо повідомляє:
[клон] зараз добре працює
Примітка. Якщо на сервері щось пішло не так, і якщо сервер використовує Git 2.5+ (Q2 2015), повідомлення про помилку може бути більш явним.
Див. " Клонування Git: віддалений кінець зненацька завис, спробував змінити, postBuffer
але все-таки не вдалося ".
Кулай ( у коментарях ) вказує на цю сторінку Git з усунення неполадок в Атласі , яка додає:
Error code 56
вказує на помилку прийому завитків, а CURLE_RECV_ERROR
це означає, що виникла певна проблема, яка не дозволила отримувати дані під час процесу клонування.
Зазвичай це спричинено мережевими налаштуваннями, брандмауером, VPN-клієнтом або антивірусом, який припиняє з'єднання до передачі всіх даних.
Він також згадує про таку змінну середовища, щоб допомогти з процесом налагодження.
# Linux
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
З Git 2.25.1 (лютий 2020 р.) Ви знаєте більше про це http.postBuffer
"рішення".
Див. Команду 7a2dc95 , здійснити 1b13e90 (22 січня 2020 р.) Від Брайана m. Карлсон ( bk2204
) .
(Об'єднано Хуніо С Хамано - gitster
- у комітеті 53a8329 , 30 січня 2020 р.)
( Обговорення списку Git Mailing list )
docs
: згадка, коли збільшення http.postBuffer є цінним
Підписано: Брайан м. Карлсон
Користувачі у найрізноманітніших ситуаціях стикаються з проблемами HTTP push.
Часто ці проблеми пояснюються антивірусним програмним забезпеченням, фільтруючими проксі-серверами або іншими ситуаціями, що стосуються людини; в інших випадках вони пояснюються простою ненадійністю мережі.
Тим не менш, поширене рішення проблем HTTP-натиску, знайдених в Інтернеті, - це збільшити http.postBuffer.
Це працює в жодній із вищезазначених ситуацій і корисно лише у невеликій, дуже обмеженій кількості випадків: по суті, коли з'єднання не підтримує належним чином HTTP / 1.1.
Документ при підвищенні цього значення є відповідним і тим, що він насправді робить, і заважає людям використовувати його як загальне рішення для проблемних проблем, оскільки це там не ефективно.
Тож документація git config http.postBuffer
наразі включає:
http.postBuffer
Максимальний розмір у байтах буфера, який використовується інтелектуальним транспортом HTTP під час POSTing даних у віддалену систему.
Для запитів, що перевищують цей розмір буфера, HTTP / 1.1 та Transfer-Encoding: chunked використовується для уникнення локального створення масивного файлу пакету.
За замовчуванням - 1 МіБ, що видає ефективність для більшості запитів.
Зауважте, що підвищення цього ліміту є ефективним лише для відключення кодування перенесеного перенесення, і тому його слід використовувати лише там, де віддалений сервер або проксі підтримує лише HTTP / 1.0 або не відповідають стандарту HTTP.
Підвищення цього не є, як правило, ефективним рішенням для більшості проблемних проблем, але може значно збільшити споживання пам'яті, оскільки весь буфер виділяється навіть для невеликих натискань .