Мой git
клиент неоднократно терпит неудачу со следующей ошибкой после попытки клонировать хранилище в течение некоторого времени.
В чем может быть проблема здесь?
Примечание. Я зарегистрировал свой SSH-ключ у хостинг-провайдера GIT.
Receiving objects: 13% (1309/10065), 796.00 KiB | 6 KiB/s
fatal: The remote end hung up unexpectedly
git config --global http.postBuffer 524288000
, влияет ли а на ваш клон? Там есть какие-то дополнительные сообщения об ошибках вроде 'error: RPC failed; result=56, HTTP code = 0
'git config --global http.postBuffer 524288000
?Ответы:
Быстрое решение:
С такой ошибкой я обычно начинаю с увеличения
postBuffer
размера на:(некоторые комментарии ниже сообщают о необходимости удвоить значение):
Больше информации:
От
git config
страницы человека ,http.postBuffer
о:Даже для клона это может иметь эффект, и в этом случае OP Joe сообщает:
Примечание: если что-то пошло не так на стороне сервера, и если сервер использует Git 2.5+ (Q2 2015), сообщение об ошибке может быть более явным.
См. « Клонирование Git: удаленный конец неожиданно завис, попытался изменить,
postBuffer
но все еще не работает ».Кулай ( в комментариях ) указывает на эту страницу Git для устранения неполадок Atlassian , которая добавляет:
Здесь также упоминается следующая переменная среды, чтобы помочь с процессом отладки.
С Git 2.25.1 (февраль 2020 г.) вы узнаете больше об этом
http.postBuffer
«решении».Смотрите коммит 7a2dc95 , коммит 1b13e90 (22 января 2020 г.) по Брайану м. Карлсон (
bk2204
) .(Объединено с Junio C Hamano -
gitster
- в коммите 53a8329 , 30 января 2020 г.)( обсуждение списка рассылки Git )
Итак, документация на
git config http.postBuffer
данный момент включает в себя:источник
ssh://
.postBuffer
настройка влияет на клон или выборку.Та же ошибка с Bitbucket. Исправлено
источник
Уловка http.postBuffer не сработала для меня. Тем не мение:
Для других, испытывающих эту проблему, это может быть проблема с GnuTLS. Если вы установите режим Verbose, вы можете увидеть, что основная ошибка выглядит примерно так, как показано ниже.
К сожалению, мое единственное решение до сих пор состоит в использовании SSH.
Я видел решение, опубликованное в другом месте для компиляции Git с OpenSSL вместо GnuTLS. Есть активный отчет об ошибке здесь .
источник
100000000000000
Obs .: Изменение
http.postBuffer
может также потребовать настройки файла конфигурации Nginx для gitlab для приема больших размеров тела для клиента путем настройки значения client_max_body_size.Тем не менее, существует обходной путь, если у вас есть доступ к машине Gitlab или к машине в ее сети, то есть с помощью
git bundle
.git bundle create my-repo.bundle --all
git clone my-repo.bundle
git remote set-url origin "path/to/your/repo.git"
git push
Всего наилучшего!
источник
Единственное, что мне помогло, - это клонировать репозиторий, используя ссылку HTTPS вместо ссылки SSH .
источник
Если вы используете https, и вы получаете сообщение об ошибке.
Я использовал https вместо http, и это решило мою проблему
источник
Основываясь на этом ответе , я попытался следующее (с https URL):
git clone --depth 25 url-here
git fetch --depth 50
git fetch --depth 100
git fetch --depth 200
...и так далее
git fetch --unshallow
- и все готово.Процесс явно занимает гораздо больше времени, но в моем случае настройка
http.postBuffer
иcore.compression
не помогла.UPD : я обнаружил, что выборка через ssh работает для любого размера репо (обнаруженного случайно), с
git clone <ssh url>
учетом того, что вы создали ключи ssh. После получения репо я меняю удаленный адрес, используяgit remote set-url <https url to repo>
источник
Я получил решение после использования следующей команды:
git repack -a -f -d --window=250 --depth=250
источник
Я получил ту же проблему, я исправил это методом проб и ошибок. Я изменил значение core.compression, пока оно не заработало.
Я начал с "git config --global core.compression 1" после 3 попыток
"git config --global core.compression 4" работал для меня.
источник
Это связано с проблемой подключения к интернету, я столкнулся с той же проблемой. Я сделал мелкую копию кода, используя
Позже отменили клон с помощью
источник
в
/etc/resolv.conf
добавить строку в конец файлаисточник
Ну, я хотел выдвинуть решение на 219 МБ, но мне не повезло с
И какой смысл иметь почтовый буфер размером 525 МБ? это глупо. Итак, я посмотрел на ошибку git ниже:
Так что мерзавец хочет опубликовать 5 МБ, затем я сделал буфер поста 6 МБ, и это работает
источник
У меня была та же проблема, и она была связана с плохим подключением к Интернету, поэтому после попытки с некоторыми git-конфигами я просто отключился от своей сети и подключился снова, и это работает !.
Кажется, что после потери соединения (или действия, которое вызывает эту ситуацию), git застревает.
Я надеюсь, что это могло бы помочь кому-то еще здесь.
Лучший,
источник
У меня тоже была такая же проблема. Причина этой проблемы в описании Куртиса о GNUTLS.
Если у вас есть та же причина, и ваша система Ubuntu, вы можете решить эту проблему, установив последнюю версию git из
ppa:git-core/ppa
. Команды, как показано ниже.источник
apt-get git
??Я столкнулся с этой проблемой при клонировании данных (через HTTP) из удаленного репозитория git, размещенного на экземпляре AWS EC2, управляемом эластичным beanstalk. Само клонирование было также выполнено на экземпляре AWS EC2.
Я перепробовал все вышеперечисленные решения и их комбинации:
http.postBuffer
http.maxrequestbuffer
git clone
а затемgit fetch --unshallow
- увидеть фатальный: рано EOF фатальный: сбой индексаpackedGitLimit
и др., смотрите здесь: fatal: ранний EOF fatal: index-pack не удалосьclient_max_body_size
большого значения и 0 (неограниченно); установкаproxy_request_buffering off;
options single-request
в /etc/resolv.confgit clone
После всего этого я снова и снова сталкивался с одной и той же проблемой, пока не обнаружил, что проблема заключается в том, что Elastic Load Balancer (ELB) разрывает соединение . После прямого доступа к экземпляру EC2 (тот, на котором размещается git-репо), вместо того, чтобы проходить через ELB, мне наконец-то удалось клонировать git-репо! Я до сих пор не уверен, какой из параметров ELB (тайм-аут) отвечает за это, поэтому мне все еще нужно провести некоторое исследование.
ОБНОВИТЬ
Похоже, что изменение политики опустошения подключений для AWS Elastic Load Balancer путем увеличения времени ожидания с 20 до 300 секунд решило эту проблему для нас.
Связь между
git clone
ошибками и «истощением связи» странная и не очевидная для нас. Возможно, изменение времени ожидания истощения соединения вызвало некоторые внутренние изменения в конфигурации ELB, которые устранили проблему с преждевременным закрытием соединения.Это связанный вопрос на форуме AWS (пока нет ответа): https://forums.aws.amazon.com/thread.jspa?threadID=258572
источник
У меня была похожая проблема, но с бамбуковой работой. Bamboo не удалось выполнить локальный клон (локальный, но через прокси-сервер SSH) из кэшированного репозитория, я удалил кеш, и после этого он работал, но каждый раз, когда он пытается клонировать из локального кеша, происходит сбой. Похоже, проблема с бамбуковой версией SSH-прокси, а не мерзавцем как таковым.
источник
У меня та же ошибка при использовании BitBucket. Что я сделал, так это удалил https из URL моего репо и установил URL используя
HTTP
.источник
РЕШЕНО С настройкой WIFI Router:
Я получил ту же проблему, когда я нахожусь в Wi-Fi с настройками PPPoE (автоматический вход через маршрутизатор Wi-Fi).
Скорость загрузки Git очень низкая 15kb.
packet_write_wait: Соединение с портом 22 17.121.133.16: неработающий канал неисправен: удаленный конец зависает неожиданно неработоспособно: рано EOF фатально: сбой index-pack
Решение: 1. Изменили настройку на Динамический IP, перезагрузите маршрутизатор Wi-Fi. 2. Из веб-браузера войдите на портал интернет-провайдера (не настраивайте PPPoE, автоматический вход с Wi-Fi-роутера).
После изменения Git скорость загрузки составляет 1,7 МБ.
источник
Это решило мою проблему:
источник
Приведенные выше уловки мне не помогли, так как репо было больше, чем максимальный размер пуша, разрешенный на github. Что сработало, так это рекомендация от https://github.com/git-lfs/git-lfs/issues/3758, в которой предлагалось немного подтолкнуть за раз:
источник
Потратив несколько часов, пытаясь использовать некоторые из этих решений, в конечном итоге это привело к тому, что корпоративная IPS (Instrusion Protection System) разорвала соединение после передачи определенного объема данных.
источник
Для общей пропускной способности попробуйте клонировать, когда нагрузка меньше. В противном случае попробуйте высокоскоростное соединение. Если все еще не работает, пожалуйста, используйте команду ниже,
И попробуйте снова клонировать. Возможно, вам придется изменить эти настройки в соответствии с доступным объемом памяти.
источник
Это может быть так же просто, как проблема с сервером. Если вы используете GitHub, проверьте https://twitter.com/githubstatus . Я впервые увидел это и обнаружил, что GitHub испытывает колебания . Через несколько минут все снова заработало.
источник
Это сработало для меня, настроив сервер имен Googles, потому что не был указан стандартный сервер имен, а затем перезапустил сеть:
источник
Я столкнулся с этой проблемой, используя git в Kubuntu. Я также заметил общую нестабильность в сети и нашел решение .
Это исправило задержки перед каждым разрешением доменного имени, и после этого git начал работать как чудо.
источник
Я обнаружил, что моя проблема связана с файлом .netrc, если это так и для вас, то вы можете сделать следующее:
Откройте файл .netrc и отредактируйте его, чтобы включить учетные данные github. Тип
nano ~/netrc
илиgedit ~/netrc
Затем включите следующее: * машина github.com
логин
СЕКРЕТ пароля
машина api.github.com
логин
СЕКРЕТ пароля
Вы можете включить свой необработанный пароль туда, но в целях безопасности, сгенерируйте здесь токен авторизации, github и вставьте его вместо своего пароля.
Надеюсь, это поможет кому-то
источник
Это может быть из-за размера коммитов, которые выдвигаются .. Разбейте количество коммитов следующим образом:
Посмотрите последние 5 коммитов, и вы узнаете, какие из них не отправлены на удаленный доступ. Выберите идентификатор фиксации и нажмите все коммиты до этого идентификатора:
ПРИМЕЧАНИЕ: я только что проверил свой коммит, который может иметь самый большой размер; сначала толкнул до тех пор. Трюк сработал. !!
источник
Я делал git push с моего OS X El Capitan Mac. Я получал ту же ошибку, я пытался все исправить, что я нашел в google / stackoverflow. Что касается версии, я использую довольно последнюю версию github, которая является 2.7.4. Я создал проект в своей локальной системе, и я хотел, чтобы это было публично в моей учетной записи на github. Размер проекта не был около 8 МБ. Я заметил, что когда я выдвигал некоторые файлы размером около 1,5 МБ, он выдвигался правильно, но с большим размером мне не удалось, с той же ошибкой,
Единственный вариант, который у меня был, - это выдвигать изменения в кусках МБ. Теперь я подтолкнул все изменения. Это обходной путь для меня, пока я не исправлю это решение.
Таким образом, вы также можете попробовать внести изменения в несколько коммитов. Или, если у вас есть несколько папок, вы можете вносить изменения в каждой папке (если размер папки не большой).
Надеюсь, это поможет вам продолжить работу над проектом.
источник
Столкнулся с той же проблемой, попробуйте слиться с другой веткой и вытащить из них. У меня это работает так же.
источник
используйте
ssh
вместоhttp
, это не очень хороший ответ на этот вопрос, но, по крайней мере, он работает для меняисточник