เวอร์ชั่นย่อ: มันหมายถึงสิ่งที่พูดและถ้าคุณปล่อยให้มันจบทุกอย่างจะดี
ในระหว่างการดำเนินการส่วนใหญ่ซึ่งอาจจะสามารถเพิ่มจำนวนหลวม (แตก) วัตถุในพื้นที่เก็บข้อมูล (รวมถึงการผลักดัน) git gc --auto
จะเรียก หากมีวัตถุหลวมเพียงพอ (โดยค่าเริ่มต้นอย่างน้อย 6700) จากนั้นจะเรียกใช้git repack -d -l
เพื่อบรรจุวัตถุเหล่านั้น หากมีแพ็คแยกกันมากเกินไปก็จะบรรจุพวกเขาเป็นหนึ่ง
แพ็คเป็นไฟล์เดียวที่ถูกบีบอัดด้วยเดลต้าซึ่งมีวัตถุจำนวนมาก มันมีประสิทธิภาพมากขึ้นเพื่อเก็บวัตถุในแพ็ค แต่มันต้องใช้เวลาที่จะแพ็ค (บีบอัด) วัตถุดังนั้น Git แรกสร้างวัตถุหลวมแล้วแพ็คพวกเขาใน batches git gc --auto
ขณะนี้แล้วผ่านทางอัตโนมัติของการภาวนา
หากคุณปล่อยให้ Git บรรจุเสร็จแล้วสิ่งนี้จะไม่เกิดขึ้นอีกซักพัก อาจต้องใช้เวลาสักครู่โดยเฉพาะอย่างยิ่งถ้าคุณมีวัตถุไบนารีขนาดใหญ่จำนวนมาก แต่ถ้ามันถูกกระตุ้นก็เป็นสัญญาณว่ามันอาจจะลดปริมาณพื้นที่ดิสก์ที่ repo ลงอย่างมาก หากคุณไม่ต้องการให้เกิดขึ้นจริงคุณสามารถเปลี่ยนพารามิเตอร์กำหนดค่าgc.auto
ได้ หากคุณเพิ่มมันเป็นสิ่งที่ใหญ่กว่า 6700 มันจะเกิดขึ้นน้อยลง แต่จะใช้เวลานานกว่าเมื่อทำ หากคุณลดขนาดมันจะยังคงต้องทำหีบห่อปัจจุบันของคุณ แต่ต่อมาจะเกิดขึ้นบ่อยขึ้นและเสร็จเร็วขึ้น หากคุณตั้งค่าเป็น 0 มันจะปิดใช้งานการบรรจุใหม่โดยอัตโนมัติ
ดูman git-gc
(ใต้--auto
) และman git-config
(ใต้gc.auto
) สำหรับข้อมูลเพิ่มเติม