Beranda » Hosting » Memperbaiki Kesalahan Fatal Early EOFs Git Clone

    Memperbaiki Kesalahan Fatal Early EOFs Git Clone

    Itu “git klon” command - seperti namanya - memungkinkan Anda untuk menggandakan seluruh repositori dari jarak jauh ke lokal, atau sebaliknya. Meskipun ini adalah perintah git yang cukup sederhana dan lurus, kadang-kadang, masalah mungkin masih muncul.

    Awal minggu ini, saya dipukul dengan kesalahan saat menjalankan git klon, dan kesalahannya terlihat seperti berikut:

     galat: paket-objek mati karena sinyal 9.20 MiB | 79.00 KiB / s error: git upload-pack: git-pack-objects mati karena kesalahan. fatal: git unggah-paket: dibatalkan karena kemungkinan repositori korupsi di sisi yang jauh. remote: dibatalkan karena kemungkinan repositori korupsi di sisi remote. fatal: EOF awal: 1% (66/3818), 6,04 MiB | 53,00 KiB / s

    Setelah melakukan riset dan debugging, berikut adalah dua penyebab utama kesalahan fatal.

    1. Koneksi internet lambat

    Penyebab kesalahan

    Repositori sangat besar dan koneksi internet terlalu lambat.

    Ini berasal dari pengalaman pribadi saya - saya mencoba untuk mengkloning repositori sekitar 1.5Gb. Itu terus gagal secara tidak konsisten pada tingkat yang berbeda dari% yang diunduh, kadang-kadang setelah 20MB, kadang-kadang setelah 60MB, 200MB, dll.

    Larutan

    Mengubah koneksi Internet menjadi lebih cepat dan lebih stabil sangat membantu. Dengan koneksi yang lebih cepat, saya bisa lebih dekat ke 1.5Gb. Pada satu titik saya dapat mengkloning tanpa kesalahan.

    2. Repositori besar

    Penyebab kesalahan

    Repositori yang ingin Anda klon besar, dalam hal ukuran file. Ketika mencoba untuk mengkloningnya, server jauh tidak memiliki cukup memori untuk mengatasi eksekusi.

    Larutan

    Giliran kompresi. Git mengkloning sebagian. Ketika berhasil, tirukan sisanya.

    1. Pertama, matikan kompresi Git.

      git config --global core.compression 0
    2. Kemudian lakukan tiruan sebagian dari repositori dengan --kedalaman 1 parameter. Menggantikan [email protected]/path/to/git_repo/ dengan path aktual ke repositori.

      git clone â ??  ?? kedalaman 1 ssh: //[email protected]/path/to/git_repo/
    3. Selanjutnya, ambil sisa repositori.

      git fetch --unshallow
    4. Akhirnya, selesaikan dengan tarikan biasa.

      git fetch --unshallow

    Metode-metode ini memecahkan masalah saya. Semoga ini bisa membantu!