โฮมเพจ » โฮสติ้ง » แก้ไข Git Clone“ Early EOFs” ข้อผิดพลาดร้ายแรง

    แก้ไข Git Clone“ Early EOFs” ข้อผิดพลาดร้ายแรง

    “โคลนคอมไพล์” คำสั่ง - ตามชื่อแนะนำ - ช่วยให้คุณสามารถทำซ้ำพื้นที่เก็บข้อมูลทั้งหมดจากระยะไกลไปยังท้องถิ่นหรือในทางกลับกัน แม้ว่ามันจะเป็นคำสั่งคอมไพล์ที่เรียบง่ายและตรงไปตรง แต่บางครั้งปัญหาอาจยังคงเกิดขึ้น.

    สัปดาห์ก่อนหน้านี้ฉันได้รับข้อผิดพลาดขณะดำเนินการ โคลนคอมไพล์, และข้อผิดพลาดมีลักษณะดังต่อไปนี้:

     ข้อผิดพลาด: วัตถุแพ็คเสียชีวิตจากสัญญาณ 9.20 MiB | 79.00 ข้อผิดพลาด KiB / s: git upload-pack: git-pack-objects เสียชีวิตด้วยข้อผิดพลาด ร้ายแรง: git upload-pack: ยกเลิกเนื่องจากความเสียหายของที่เก็บที่เป็นไปได้ในด้านระยะไกล remote: ยกเลิกเนื่องจากพื้นที่เก็บข้อมูลเสียหายที่เป็นไปได้ในด้านระยะไกล ร้ายแรง: EOF ก่อนกำหนด: 1% (66/3818), 6.04 MiB | 53.00 KiB / s

    หลังจากทำการวิจัยและแก้ไขจุดบกพร่องนี่คือสาเหตุหลักสองประการของข้อผิดพลาดร้ายแรง.

    1. การเชื่อมต่ออินเทอร์เน็ตช้า

    สาเหตุของข้อผิดพลาด

    ที่เก็บมีขนาดใหญ่และการเชื่อมต่ออินเทอร์เน็ตช้าเกินไป.

    นี่มาจากประสบการณ์ส่วนตัวของฉัน - ฉันพยายามโคลนที่เก็บประมาณ 1.5Gb มันยังคงล้มเหลวในอัตราที่แตกต่างกันของการดาวน์โหลด% บางครั้งหลังจาก 20Mb บางครั้งหลังจาก 60Mb, 200Mb ฯลฯ.

    สารละลาย

    การเปลี่ยนเป็นการเชื่อมต่ออินเทอร์เน็ตที่เร็วและเสถียรยิ่งขึ้นช่วยได้ ด้วยการเชื่อมต่อที่เร็วขึ้นฉันสามารถเข้าใกล้ 1.5Gb ได้มากขึ้น ณ จุดหนึ่งฉันสามารถโคลนโดยไม่มีข้อผิดพลาด.

    2. พื้นที่เก็บข้อมูลขนาดใหญ่

    สาเหตุของข้อผิดพลาด

    ที่เก็บที่คุณพยายามโคลนมีขนาดใหญ่ในแง่ของขนาดไฟล์ ในขณะที่พยายามโคลนมันเซิร์ฟเวอร์ระยะไกลก็มีหน่วยความจำไม่เพียงพอที่จะรับมือกับการดำเนินการ.

    สารละลาย

    การบีบอัด Git clone บางส่วน เมื่อประสบความสำเร็จโคลนส่วนที่เหลือ.

    1. ก่อนอื่นให้ปิดการบีบอัด Git.

      git config - global core.compression 0
    2. จากนั้นทำการโคลนบางส่วนของที่เก็บด้วย --ความลึก 1 พารามิเตอร์. แทนที่ [email protected]/path/to/git_repo/ ด้วยพา ธ ที่แท้จริงไปยังที่เก็บ.

      git clone âความลึก 1 ssh: //[email protected]/path/to/git_repo/
    3. ถัดไปดึงส่วนที่เหลือของที่เก็บ.

      git fetch --unshallow
    4. ในที่สุดจบมันด้วยการดึงปกติ.

      git fetch --unshallow

    วิธีการเหล่านี้แก้ปัญหาของฉันได้ หวังว่ามันจะช่วย!