Pagina inicial » Hospedagem » Corrigindo o erro fatal Git Clone Early EOFs

    Corrigindo o erro fatal Git Clone Early EOFs

    o “clone git” comando - como seu nome sugere - permite que você duplique um repositório inteiro de remoto para local, ou vice-versa. Embora seja um comando git razoavelmente simples e direto, às vezes, problemas ainda podem surgir.

    No início desta semana, fui atingido por um erro ao executar clone git, e o erro se parece com o seguinte:

     erro: objetos de pacote morreram de sinal 9.20 MiB | 79.00 KiB / s erro: git upload-pack: git-pack-objetos morreu com erro. fatal: git upload-pack: abortando devido a possível corrupção do repositório no lado remoto. remoto: abortando devido a possível corrupção do repositório no lado remoto. fatal: EOFs antecipados: 1% (66/3818), 6,04 MiB | 53,00 KiB / s

    Depois de pesquisar e depurar, aqui estão as duas principais causas do erro fatal.

    1. conexão lenta à Internet

    Causa do erro

    O repositório é enorme e a conexão com a Internet é simplesmente muito lenta.

    Isso veio da minha experiência pessoal - eu estava tentando clonar um repositório de cerca de 1.5Gb. Ele continuou falhando inconsistentemente a uma taxa diferente de% baixado, às vezes depois de 20Mb, às vezes depois de 60Mb, 200Mb, etc.

    Solução

    Mudar para uma conexão à Internet mais rápida e estável ajuda. Com uma conexão mais rápida, consegui me aproximar de 1,5Gb. Em um ponto eu sou capaz de clonar sem qualquer erro.

    2. enorme repositório

    Causa do erro

    O repositório que você está tentando clonar é grande, em termos de tamanho de arquivo. Ao tentar cloná-lo, o servidor remoto simplesmente não tem memória suficiente para lidar com a execução.

    Solução

    Volta da compressão. Git clone parcialmente. Quando for bem sucedido, copie o resto.

    1. Primeiro, desative a compactação do Git.

      git config --global core.compression 0
    2. Então faça um clone parcial do repositório com --profundidade 1 parâmetro. Substituir [email protected]/path/to/git_repo/ com o caminho real para o repositório.

      git clone âProfundidade 1 ssh: //[email protected]/path/to/git_repo/
    3. Em seguida, recupere o restante do repositório.

      git fetch --unshallow
    4. Finalmente, termine com um puxão regular.

      git fetch --unshallow

    Esses métodos resolveram meu problema. Espero que ajude!