लघु संस्करण: इसका मतलब है कि यह क्या कहता है, और यदि आप इसे खत्म करने देते हैं, तो सब ठीक हो जाएगा।
अधिकांश परिचालनों के दौरान, जो संभावित रूप से रिपॉजिटरी (पुश सहित) में ढीली (अनपैक्ड) वस्तुओं की संख्या में वृद्धि कर सकते हैं, गिट इनवॉइस git gc --auto
। यदि पर्याप्त ढीली वस्तुएं हैं (डिफ़ॉल्ट रूप से, कम से कम 6700), तो यह git repack -d -l
उन्हें पैक करने के लिए आह्वान करेगा । यदि बहुत सारे अलग-अलग पैक हैं, तो यह उन्हें एक में भी रिपीट करेगा।
एक पैक एक डेल्टा-संपीड़ित एकल फ़ाइल है, जिसमें बड़ी संख्या में ऑब्जेक्ट होते हैं। यह पैक में वस्तुओं को संग्रहीत करने के लिए अधिक कुशल है, लेकिन वस्तुओं को पैक करने (संपीड़ित) करने में समय लगता है, इसलिए Git शुरू में ढीली वस्तुओं का निर्माण करता है, फिर स्वचालित रूप से इनवॉइस के माध्यम से उन्हें बैचों में पैक करता है git gc --auto
।
यदि आप Git को फिर से तैयार करते हैं, तो यह कुछ समय के लिए फिर से नहीं होगा। यह वास्तव में थोड़ी देर ले सकता है, खासकर यदि आपके पास बहुत बड़ी बाइनरी ऑब्जेक्ट हैं, लेकिन अगर यह ट्रिगर हो रहा है, तो यह संकेत है कि यह संभवतः रेपो द्वारा ली गई डिस्क स्थान की मात्रा को काफी कम कर देगा। यदि आप वास्तव में ऐसा नहीं करना चाहते हैं, तो आप कॉन्फ़िगरेशन पैरामीटर को बदल सकते हैं gc.auto
। यदि आप इसे 6700 से कुछ अधिक तक बढ़ाते हैं, तो यह कम बार घटित होगा, लेकिन जब ऐसा होता है तो अधिक समय लेते हैं। यदि आप इसे कम करते हैं, तो यह अभी भी आपके वर्तमान रीपैक को करना होगा, लेकिन बाद में यह अधिक बार होगा और अधिक तेज़ी से समाप्त होगा। यदि आप इसे 0 पर सेट करते हैं, तो यह स्वचालित रीपैकेजिंग को अक्षम कर देगा।
अधिक जानकारी के लिए देखें man git-gc
(अंडर --auto
) और man git-config
(अंडर gc.auto
)।