„Git Clone“ nustatymas „Early EOF“ Fatal Error
The “gito klonas” komanda - kaip rodo jo pavadinimas - leidžia kopijuoti visą saugyklą iš nuotolinio į vietinį arba atvirkščiai. Nors tai yra gana paprasta ir tiesiai į priekį nukreipta komanda, kartais gali kilti problemų.
Anksčiau šią savaitę vykdydamas įvyko klaida gito klonas, ir klaida atrodo taip:
klaida: pakuotės objektai mirė nuo signalo 9.20 MiB | 79,00 KiB / s klaida: git upload-pack: git-pack-objektai mirė su klaida. mirtinas: git upload-pack: nutraukimas dėl galimo kapinyno korupcijos nuotolinėje pusėje. nuotolinis: nutraukimas dėl galimo kapinyno korupcijos nuotolinėje pusėje. mirtinas: ankstyvieji EOF: 1% (66/3818), 6,04 MiB | 53,00 KiB / s
Po kai kurių tyrimų ir derinimo, čia yra dvi pagrindinės mirtinos klaidos priežastys.
1. Lėtas interneto ryšys
Klaidos priežastis
Kapinynas yra didžiulis, o interneto ryšys yra tiesiog per lėtas.
Tai kilo iš mano asmeninės patirties - bandžiau klonuoti apie 1,5 GB talpą. Jis nesilaikė skirtingo atsisiuntimo%, kartais po 20 MB, kartais po 60 MB, 200 MB ir tt.
Sprendimas
Perėjimas prie greitesnio ir stabilesnio interneto ryšio padeda. Su greitesniu ryšiu galėjau priartėti prie 1.5Gb. Vienu metu galiu klonuoti be jokių klaidų.
2. Didžiulė saugykla
Klaidos priežastis
Duomenų saugykla, kurią bandote klonuoti, yra didelė, atsižvelgiant į failo dydį. Bandydamas klonuoti, nuotolinis serveris tiesiog neturi pakankamai atminties, kad galėtų susidoroti su vykdymu.
Sprendimas
Kompresijos posūkis. Git klonas iš dalies. Sėkmingai klonuokite likusią dalį.
-
Pirma, išjunkite „Git“ suspaudimą.
git config --global core.compression 0
-
Tada atlikite dalinį saugyklos kloną
--1 gylis
parametras. Pakeisti[email protected]/path/to/git_repo/
su faktiniu keliu į saugyklą.git klonas â ??  ?? gylis 1 ssh: //[email protected]/path/to/git_repo/
-
Toliau surinkite likusią saugyklą.
git fetch --unshallow
-
Galiausiai, jį užbaigite reguliariai traukdami.
git fetch --unshallow
Šie metodai išsprendė mano problemą. Tikiuosi, kad tai padės!