Laman » Hosting » Memperbaiki Klon Git EOFs Awal Ralat Maut

    Memperbaiki Klon Git EOFs Awal Ralat Maut

    The “klon git” perintah - sebagai nama namanya - membolehkan anda menduplikasi repositori keseluruhan dari jarak jauh ke setempat, atau sebaliknya. Walaupun ia adalah arahan yang agak mudah dan lurus ke hadapan, kadang-kadang, masalah mungkin masih timbul.

    Awal minggu ini, saya terkena ralat semasa menjalankan klon git, dan ralat kelihatan seperti berikut:

     kesilapan: objek pek mati dengan isyarat 9.20 MiB | Kesilapan 79.00 KiB / s: pek muat naik git: git-pack-objects mati dengan ralat. maut: pek muat naik: digugurkan kerana kemungkinan repositori korupsi di bahagian jauh. jauh: menggugurkan akibat kemungkinan korupsi repositori di bahagian jauh. maut: EOFs awal: 1% (66/3818), 6.04 MiB | 53.00 KiB / s

    Selepas beberapa penyelidikan dan debugging, berikut adalah dua sebab utama kesilapan yang membawa maut.

    1. Sambungan Internet lambat

    Sebab kesilapan

    Repositori adalah besar dan sambungan Internet terlalu lambat.

    Ini datang dari pengalaman peribadi saya - saya telah cuba untuk mengklon repositori kira-kira 1.5Gb. Ia terus gagal pada kadar tidak konsisten pada kadar% yang dimuat turun, kadang-kadang selepas 20Mb, kadang-kadang selepas 60Mb, 200Mb, dll.

    Penyelesaian

    Menukar ke sambungan Internet yang lebih cepat dan lebih stabil membantu. Dengan sambungan yang lebih cepat, saya dapat mendekati 1.5Gb. Pada satu ketika, saya dapat mengklon tanpa sebarang kesilapan.

    2. Repositori yang besar

    Sebab kesilapan

    Repositori yang anda cuba klonkan adalah besar, dari segi saiz fail. Semasa cuba mengklonkannya, pelayan jauh hanya mempunyai memori yang mencukupi untuk menghadapi pelaksanaannya.

    Penyelesaian

    Hidupkan mampatan. Klon Git sebahagiannya. Apabila berjaya, klikan yang lain.

    1. Pertama, matikan pemampatan Git.

      git config - global core.compress 0
    2. Kemudian lakukan klon separa repositori dengan --kedalaman 1 parameter. Gantikan [email protected]/path/to/git_repo/ dengan jalan sebenar ke repositori.

      klon git â ·  · kedalaman 1 ssh: //[email protected]/path/to/git_repo/
    3. Seterusnya, dapatkan semula repositori yang lain.

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

      git fetch --unshallow

    Kaedah ini menyelesaikan masalah saya. Semoga ia membantu!