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.
-
Pertama, matikan pemampatan Git.
git config - global core.compress 0
-
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/
-
Seterusnya, dapatkan semula repositori yang lain.
git fetch --unshallow
-
Akhirnya, selesaikan dengan tarikan biasa.
git fetch --unshallow
Kaedah ini menyelesaikan masalah saya. Semoga ia membantu!