Oprava chyby Git Clone “Early EOFs” Fatal Error
“klon git” Příkaz - jak naznačuje jeho název - umožňuje duplikovat celé úložiště ze vzdáleného na místní nebo naopak. I když se jedná o poměrně jednoduchý a přímočarý příkaz, někdy se mohou vyskytnout problémy.
Začátkem tohoto týdne jsem byl při provádění zasažen chybou klon git, a chyba vypadá takto:
error: pack-objects zemřel na signál 9.20 MiB | 79,00 KiB / s chyba: git upload-pack: objekty git-pack-umřely s chybou. fatální: git upload-pack: přerušení kvůli možnému poškození úložiště na vzdálené straně. vzdálené: přerušení kvůli možnému poškození úložiště na vzdálené straně. fatální: časné EOF: 1% (66/3818), 6,04 MiB | 53,00 KiB / s
Po nějakém výzkumu a ladění jsou zde dvě hlavní příčiny fatální chyby.
1. Pomalé připojení k Internetu
Příčina chyby
Úložiště je obrovské a připojení k internetu je prostě příliš pomalé.
Vycházelo to z mé osobní zkušenosti - pokoušel jsem se naklonovat úložiště o velikosti přibližně 1,5 GB. Nepodařilo se to nekonzistentně při různých rychlostech stahování%, někdy po 20 MB, někdy po 60 MB, 200 MB, atd.
Řešení
Pomáhá rychlejší a stabilnější připojení k Internetu. Díky rychlejšímu připojení jsem se mohl přiblížit k 1,5Gb. Na jednom místě jsem schopen klonovat bez jakékoli chyby.
2. Obrovské úložiště
Příčina chyby
Úložiště, které se pokoušíte klonovat, je velké, pokud jde o velikost souboru. Při pokusu o klonování vzdálený server prostě nemá dostatek paměti, aby se vyrovnal s prováděním.
Řešení
Otočení komprese. Git klon částečně. Když je to úspěšné, zbytek klonujte.
-
Nejprve vypněte kompresi Git.
git config --global core.compression 0
-
Poté proveďte částečný klon úložiště
--hloubka 1
parametr. Nahradit[email protected]/path/to/git_repo/
se skutečnou cestou k úložišti.git clone â ?? hloubka 1 ssh: //[email protected]/path/to/git_repo/
-
Dále načtěte zbytek repozitáře.
git fetch --unshallow
-
Nakonec to dokončete pravidelným tahem.
git fetch --unshallow
Tyto metody vyřešily můj problém. Doufám, že to pomůže!