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.
-
Primeiro, desative a compactação do Git.
git config --global core.compression 0
-
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/
-
Em seguida, recupere o restante do repositório.
git fetch --unshallow
-
Finalmente, termine com um puxão regular.
git fetch --unshallow
Esses métodos resolveram meu problema. Espero que ajude!