Úvodná » hosting » Stanovenie gitového klonu Predčasné EOF

    Stanovenie gitového klonu Predčasné EOF

    “git klon” príkaz - ako naznačuje jeho názov - umožňuje duplikovať celé úložisko zo vzdialeného na lokálny alebo naopak. Aj keď je to pomerne jednoduchý a priamy príkaz git, niekedy môžu vzniknúť problémy.

    Začiatkom tohto týždňa som pri spustení dostal chybu git klon, a chyba vyzerá takto:

     chyba: objekty pack zomreli na signál 9.20 MiB | 79.00 KiB / s chyba: git upload-pack: git-pack-objects zomrel s chybou. fatal: git upload-pack: prerušenie kvôli možnému poškodeniu repozitára na vzdialenej strane. vzdialené: zrušenie z dôvodu možného poškodenia úložiska na vzdialenej strane. fatálne: skoré EOF: 1% (66/3818), 6.04 MiB | 53,00 KiB / s

    Po nejakom výskume a ladení sú tu dve hlavné príčiny fatálnej chyby.

    1. Pomalé internetové pripojenie

    Príčina chyby

    Úložisko je obrovské a internetové pripojenie je jednoducho príliš pomalé.

    Prišlo to z mojej osobnej skúsenosti - pokúšal som sa klonovať úložisko okolo 1,5 GB. Pokračovala v neúspešnom poklese pri odlišnej rýchlosti preberania%, niekedy po 20Mb, niekedy po 60Mb, 200Mb atď..

    Riešenie

    Zmena na rýchlejšie a stabilnejšie internetové pripojenie pomáha. S rýchlejším pripojením som sa mohol dostať bližšie k 1.5Gb. V jednom bode som schopný klonovať bez akejkoľvek chyby.

    2. Obrovský úložisko

    Príčina chyby

    Úložisko, ktoré sa pokúšate klonovať, je veľké, pokiaľ ide o veľkosť súboru. Pri pokuse o klonovanie servera na diaľku jednoducho nemá dostatok pamäte, aby sa vyrovnal s vykonaním.

    Riešenie

    Otočenie kompresie. Git klon čiastočne. Keď je to úspešné, klonujte zvyšok.

    1. Najskôr vypnite kompresiu Git.

      git config --global core.compression 0
    2. Potom vykonajte čiastočný klon úložiska --hĺbka 1 parameter. vymeniť [email protected]/path/to/git_repo/ so skutočnou cestou k úložisku.

      git klon¢Hĺbka 1 ssh: //[email protected]/path/to/git_repo/
    3. Potom načítajte zvyšok úložiska.

      git fetch --unshallow
    4. Nakoniec ju dokončite pravidelným ťahom.

      git fetch --unshallow

    Tieto metódy riešili môj problém. Dúfam, že to pomôže!