Домашняя » Хостинг » Исправление фатальной ошибки Git Clone «Early EOFs»

    Исправление фатальной ошибки Git Clone «Early EOFs»

    “мерзкий клон” Команда, как следует из ее названия, позволяет дублировать весь репозиторий с удаленного на локальный или наоборот. Хотя это довольно простая и понятная команда git, иногда могут возникать проблемы.

    Ранее на этой неделе я столкнулся с ошибкой при выполнении мерзкий клон, и ошибка выглядит следующим образом:

     ошибка: пакеты-объекты умерли от сигнала 9,20 МБ | Ошибка 79,00 КиБ / с: git upload-pack: объекты git-pack умерли с ошибкой. fatal: git upload-pack: прерывание из-за возможного повреждения хранилища на удаленной стороне. remote: прерывание из-за возможного повреждения хранилища на удаленной стороне. фатальные: ранние EOFs: 1% (66/3818), 6,04 MiB | 53,00 КиБ / с

    После некоторых исследований и отладки, вот две основные причины фатальной ошибки.

    1. Медленное интернет соединение

    Причина ошибки

    Хранилище огромно, а интернет просто слишком медленный.

    Это произошло из моего личного опыта - я пытался клонировать репозиторий объемом около 1,5 ГБ. Постоянно происходил сбой при различной скорости загрузки%, иногда после 20 МБ, иногда после 60 МБ, 200 МБ и т. Д..

    Решение

    Помогает переход на более быстрое и стабильное интернет-соединение. Благодаря более быстрому соединению я смог приблизиться к 1,5 Гб. В какой-то момент я могу клонировать без ошибок.

    2. Огромный репозиторий

    Причина ошибки

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

    Решение

    Поворот сжатия. Git клон частично. Когда это успешно, клонируйте остальных.

    1. Во-первых, отключите сжатие Git.

      git config --global core.compression 0
    2. Затем сделайте частичный клон хранилища с --глубина 1 параметр. замещать [email protected]/path/to/git_repo/ с фактическим путем к хранилищу.

      мерзкий клон¢Глубина 1 ssh: //[email protected]/path/to/git_repo/
    3. Затем извлеките оставшуюся часть хранилища..

      git fetch --unshallow
    4. Наконец, закончите это с регулярным напряжением.

      git fetch --unshallow

    Эти методы решили мою проблему. Надеюсь, поможет!