Startpagina » hosting » Vaststelling van Git Clone Early EOFs Fatale fout

    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.

    1. Schakel eerst Git-compressie uit.

      git config --global core.compression 0
    2. 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/
    3. Haal vervolgens de rest van de repository op.

      git fetch --unshallow
    4. Eindelijk, maak het af met een reguliere pull.

      git fetch --unshallow

    Deze methoden hebben mijn probleem opgelost. Hoop dat het helpt!