Git clone แจ้งว่าพื้นที่ดิสก์ไม่พอ? จะแก้ไฟล์เดียว แต่ระบบจะขนคลังข้อมูลขนาด 9 GB มาทั้งหลัง

ข้อความ “Not enough disk space to clone the repository” หมายถึงอะไร ทำไมที่เก็บโค้ดจึงโต และมีวิธีทำงานโดยไม่ต้องดาวน์โหลดทั้งหมดอย่างไร

หาสิ่งผิดปกติ
วิธีใช้เครื่องมืออ่าน

ฟังจะอ่านบทความออกเสียง อ่านเร็วแสดงวลีทีละช่วงตามความเร็วที่เลือก ฝึกภาษาใช้เปรียบเทียบบทความฉบับแปลที่มีอยู่ บันทึกจะเก็บบุ๊กมาร์กในเบราว์เซอร์นี้ และเปิดอีกครั้งได้จากรายการที่บันทึกในเครื่องเล่น อ่านแบบเกมทุบอิฐจะเปลี่ยนตัวอักษรในบทความเป็นก้อนอิฐให้ทุบเล่น

แชร์บทความนี้

แชร์บทความนี้

โฆษณา
โฆษณา

คำอธิบาย: ข้อความ “Not enough disk space to clone the repository” หมายถึงอะไร ทำไมที่เก็บโค้ดจึงโต และมีวิธีทำงานโดยไม่ต้องดาวน์โหลดทั้งหมดอย่างไร

งานมีแค่แก้ข้อความไม่กี่บรรทัด แต่เครื่องมือกลับแจ้งว่าไม่มีพื้นที่พอสำหรับคัดลอกที่เก็บโค้ด

นี่คือ ปัญหาพื้นที่จัดเก็บในสภาพแวดล้อมที่รับสำเนา ไม่ใช่ข้อผิดพลาดจากการทำงานของโปรแกรม และไม่ได้หมายความว่าไฟล์บน GitHub หายไป

ในกรณีหนึ่ง ขนาดที่ API ของ GitHub รายงานอยู่ที่ประมาณ 9 GB อยากได้ไขควงหนึ่งอัน แต่รถส่งของยกมาทั้งร้านเครื่องมือพร้อมชั้นวาง

ข้อความนี้ยืนยันอะไรได้บ้าง?

ยืนยันได้ว่าการคัดลอกติดปัญหาเรื่องพื้นที่ แต่ยังบอกไม่ได้ว่าเหลือพื้นที่จริงเท่าไร ดาวน์โหลดไปแล้วเท่าไร หรือไฟล์ปัจจุบันกับประวัติเก่าอะไรเป็นตัวการหลัก

ตัวเลขราว 9 GB เป็นขนาดที่ API รายงานแล้วปัดเป็นเลขกลม ไม่ใช่ขนาดสำเนาที่วัดจากเครื่องซึ่งเกิดปัญหา ข้อมูลที่ดาวน์โหลด ไฟล์ที่แตกออก และพื้นที่ชั่วคราวอาจมีขนาดต่างกัน

ทำไมที่เก็บโค้ดถึงใหญ่ขนาดนั้น?

Git เก็บประวัติการเปลี่ยนแปลงควบคู่กับไฟล์ปัจจุบัน ภาพขนาดใหญ่ ไฟล์สำรอง หรือผลลัพธ์ที่สร้างอัตโนมัติซึ่งเคยบันทึกไว้ อาจยังอยู่ในประวัติ อีกด้านหนึ่ง การเพิ่มบทความ คำแปล ภาพ และไฟล์ผลลัพธ์อย่างต่อเนื่องก็ทำให้ชุดไฟล์ปัจจุบันใหญ่ได้

จึงควรตรวจ ไฟล์ที่ใช้อยู่ตอนนี้และข้อมูลในประวัติ แยกกัน ก่อนระบุสาเหตุ

GitHub มีคำแนะนำให้รักษาขนาดที่เก็บโค้ดให้อยู่ในระดับจัดการง่าย รวมถึงแนะนำให้โฟลเดอร์ .git บนดิสก์มีขนาดไม่เกิน 10 GB นี่ไม่ใช่กฎที่สั่งห้าม clone อัตโนมัติเมื่อถึงตัวเลขนั้น และไม่ได้เป็นการวัดแบบเดียวกับค่าใน API เสมอไป

ไม่ต้องขนทั้งคลังเพื่อใช้ไฟล์เดียว

ถ้าสภาพแวดล้อมเดิมมีไฟล์ชั่วคราวสะสมมาก การเริ่มพื้นที่ทำงานใหม่อาจช่วยได้ แต่ถ้าต้นทางใหญ่จริง ปัญหาก็อาจเกิดซ้ำ

หากต้องการอ่านหรือแก้ไฟล์เดียว สามารถใช้ API ของ GitHub จัดการไฟล์นั้นโดยตรงเมื่อมีสิทธิ์เข้าถึง หากจำเป็นต้องใช้ Git ให้ลอง:

git clone --depth=1 --filter=blob:none --sparse REPOSITORY_URL

คำสั่งนี้ลดประวัติที่ดึงมา เลื่อนการดาวน์โหลดเนื้อหาไฟล์ และจำกัดไฟล์ที่แสดงตั้งแต่แรก แต่ไม่รับประกันว่าจะสำเร็จทุกกรณี และมีข้อจำกัดกับงานที่ต้องใช้ประวัติทั้งหมด

อย่าลบประวัติแบบหุนหัน

การลบหรือเขียนประวัติใหม่อาจกระทบสำเนาของผู้ร่วมงาน ลิงก์อ้างอิง และระบบอัตโนมัติ ตรวจพื้นที่ว่าง ไฟล์ใหญ่ปัจจุบัน และข้อมูลเก่าก่อน พร้อมสำรองข้อมูลหากจะทำการล้างที่ย้อนกลับไม่ได้ง่าย ๆ

สรุป

คำสั่งที่ต้องการคือ “แก้ไฟล์นี้” แต่แผนขนส่งกลับเป็น “ย้ายคลังขนาด 9 GB”

ถ้าจะหยิบไฟล์เดียว ทำไมต้องยกคลังมาทั้งหลัง? ลองเปลี่ยนวิธีขนข้อมูลก่อนเพิ่มขนาดดิสก์

แหล่งข้อมูล: คำแนะนำของ GitHub, ไฟล์ขนาดใหญ่, คู่มือ Git clone

ลึกลงไปอีกนิด: Pixel ดาวน์โหลดไฟล์แล้วล้มเหลวทันที? วิธีแก้ Android 17 QPR2 Beta 7

โฆษณาหนังสือในหัวข้อนี้

  • The Pragmatic Programmer (ฉบับภาษาอังกฤษ)

    Andy Hunt, Dave Thomas / Pragmatic Programmer / 1999

    หนังสือในด้าน การเขียนโปรแกรม ซึ่งเป็นสาขาของบทความนี้

บทความนี้มีลิงก์พันธมิตร (โฆษณา). เกี่ยวกับโฆษณา As an Amazon Associate I earn from qualifying purchases.

แชร์บทความนี้

หากบทความนี้มีประโยชน์ คุณสามารถสนับสนุนเว็บไซต์ได้ สนับสนุน

โฆษณา
โฆษณา
โฆษณา

อีกสักเรื่องไหม มีอะไรสนุก ๆ บ้าง

อ่านจบแล้วก็ลองต่อเลย: เรื่องใกล้เคียงไม่กี่เรื่อง และเรื่องที่ต่างไปเลยแต่สนุก

  1. 1 in 8 Billion จัด Tier ประเทศเกิด: ไทยอยู่อันดับ 68 จาก 172 ประเทศ
  2. ท่าเต้นรัมเพิลสติลต์สกินมาจากหนังเก่าเรื่องไหน? ไม่มีหนังเรื่องนั้น
  3. Hair Dye Filter คืออะไร? มีม AI ย้อมผมสีไวน์แดงจากรูปเดียวที่ดังจากเนปาลถึงไนจีเรีย
  4. 2XKO จะปิดเกมในปี 2026 หรือไม่? เซิร์ฟเวอร์ยังอยู่ แต่โหมดจัดอันดับเปลี่ยนไป

วันนี้อ่านเรื่องนี้

แต่ละบทความตอบคำถามที่ผู้อ่านบทความนี้มักสงสัยต่อ

ดูบทความทั้งหมด

หาบทความอื่น

บทความทั้งหมด

Mendoi-chan

ผู้ดูแลเว็บไซต์

Mendoi-chan

เรียบเรียงความยุ่งยากในที่ทำงานและชีวิตประจำวันให้เป็นโครงสร้างที่ชัดเจนและขั้นตอนถัดไปที่ทำได้จริง