Vaststelling van Git Clone Early EOFs Fatale fout
De “git clone” -commando - zoals de naam doet vermoeden - hiermee kunt u een volledige repository dupliceren van op afstand naar lokaal, of omgekeerd. Hoewel het een vrij eenvoudig en rechttoe rechtaan git-commando is, kunnen er soms nog steeds problemen optreden.
Eerder deze week kreeg ik tijdens het uitvoeren een foutmelding git clone, en de fout ziet er als volgt uit:
error: pack-objects overleden aan signaal 9.20 MiB | 79.00 KiB / s-fout: git upload-pack: git-pack-objects stierven met een fout. fataal: git upload-pack: afgebroken vanwege mogelijke repository-corruptie aan de externe kant. remote: afbreken vanwege mogelijke beschadiging van repositories aan de externe kant. fataal: vroege EOFs: 1% (66/3818), 6.04 MiB | 53,00 KiB / s
Na wat onderzoek en foutopsporing zijn hier de twee hoofdoorzaken van de fatale fout.
1. Trage internetverbinding
Oorzaak van de fout
De repository is enorm en de internetverbinding is gewoon te traag.
Dit kwam voort uit mijn persoonlijke ervaring - ik probeerde een opslagplaats van ongeveer 1,5 Gb te klonen. Het bleef inconsistent falen in een verschillend tempo van gedownload%, soms na 20 MB, soms na 60 MB, 200 MB, enz..
Oplossing
Wijzigen naar een snellere en stabielere internet-verbinding helpt. Met een snellere verbinding kon ik dichter bij 1,5 Gb komen. Op een gegeven moment kan ik klonen zonder fouten.
2. Enorme repository
Oorzaak van de fout
De repository die u probeert te klonen is groot, in termen van bestandsgrootte. Tijdens een poging om het te klonen, heeft de externe server eenvoudigweg niet voldoende geheugen om de uitvoering af te handelen.
Oplossing
Draai van compressie. Git kloon gedeeltelijk. Als het succesvol is, klopt u de rest.
-
Schakel eerst Git-compressie uit.
git config --global core.compression 0
-
Voer vervolgens een gedeeltelijke kloon van de repository uit met
--diepte 1
parameter. Vervangen[email protected]/path/to/git_repo/
met het daadwerkelijke pad naar de repository.git clone â ??  ?? diepte 1 ssh: //[email protected]/path/to/git_repo/
-
Haal vervolgens de rest van de repository op.
git fetch --unshallow
-
Eindelijk, maak het af met een reguliere pull.
git fetch --unshallow
Deze methoden hebben mijn probleem opgelost. Hoop dat het helpt!