Git कचरा संग्रहण को स्वचालित रूप से चलाता है :
• यदि भंडार में बहुत अधिक ढीली वस्तुएं हैं
• जब दूरस्थ रिपॉजिटरी में एक धक्का होता है
• कुछ आदेशों के बाद जो कई ढीली वस्तुओं को पेश कर सकते हैं
• जब git reflog जैसी कुछ कमांड स्पष्ट रूप से अनुरोध करती हैं
और अंत में, कचरा संग्रह तब होता है जब आप स्पष्ट रूप से इसे git gc कमांड का उपयोग करके अनुरोध करते हैं। लेकिन वह कब होना चाहिए? इस सवाल का कोई ठोस जवाब नहीं है, लेकिन कुछ अच्छी सलाह और सर्वोत्तम अभ्यास है।
आपको कुछ स्थितियों में मैन्युअल रूप से git gc चलाने पर विचार करना चाहिए:
• यदि आपने अभी-अभी गिट फ़िल्टर-शाखा पूरी की है। याद रखें कि फ़िल्टर-शाखा कई कमानों को फिर से लिखती है, नए लोगों का परिचय देती है, और पुराने लोगों को एक ऐसे रिफ़र पर छोड़ देती है जिसे आपको परिणामों से संतुष्ट होने पर हटा दिया जाना चाहिए। उन सभी मृत वस्तुओं (जो अब संदर्भित नहीं हैं क्योंकि आपने अभी-अभी एक रेफ़र को इंगित किया है) को कचरा संग्रह के माध्यम से हटाया जाना चाहिए।
• कुछ आदेशों के बाद जो कई ढीली वस्तुओं को पेश कर सकते हैं। उदाहरण के लिए, यह एक बड़ा रीबेस प्रयास हो सकता है।
और फ्लिप की तरफ, आपको कचरा संग्रह से कब सावधान रहना चाहिए?
• अगर वहाँ अनाथ रेफरी है कि आप पुनर्प्राप्त करना चाहते हो सकता है
• गिट रीरे के संदर्भ में और आपको हमेशा के लिए प्रस्तावों को बचाने की आवश्यकता नहीं है
• केवल टैग और शाखाओं के संदर्भ में Git को स्थायी रूप से बनाए रखने के लिए पर्याप्त होने के कारण
• FETCH_HEAD पुनर्प्राप्ति के संदर्भ में (git लाने के माध्यम से URL-प्रत्यक्ष पुनर्प्राप्ति) क्योंकि वे तुरंत कचरा संग्रहण के अधीन हैं