यहां बताया गया है Git के निर्माता लीनुस कैसे अपना Git रेपो हटना के बारे में क्या कहना है:
"Git gc - प्रगतिशील" के बराबर - लेकिन किया * ठीक से * - करना है (रात भर) कुछ ऐसा
git repack -a -d --depth=250 --window=250
जहां गहराई की बात बस इतनी ही है कि डेल्टा चेन कितनी गहरी हो सकती है (उन्हें पुराने इतिहास के लिए अधिक लंबा बना दें - यह स्पेस ओवरहेड के लायक है), और खिड़की की बात इस बारे में है कि हम प्रत्येक डेल्टा विंडो को स्कैन करने के लिए कितना बड़ा ऑब्जेक्ट विंडो चाहते हैं।
और यहाँ, आप अच्छी तरह से "-f" झंडे को जोड़ना चाह सकते हैं (जो कि "सभी पुराने डेल्टास को छोड़ दें", क्योंकि आप अब वास्तव में यह सुनिश्चित करने की कोशिश कर रहे हैं कि यह वास्तव में अच्छे उम्मीदवारों को ढूंढता है।
स्रोत: http://gcc.gnu.org/ml/gcc/2007-12/msg00165.html
क्या इससे बाइनरी डेटा से छुटकारा मिलेगा जो मेरे रेपो में अनाथ है? "git repack" उन छवियों या बाइनरी डेटा से छुटकारा नहीं देगा, जिन्हें आपने अपने रेपो में जांचा है और फिर उसे हटा दिया है। अपने रेपो से उन प्रकार के डेटा को स्थायी रूप से हटाने के लिए आपको अपना इतिहास फिर से लिखना होगा। इसका एक आम उदाहरण है जब आप गलती से अपने पासवर्ड को git में चेक करते हैं। आप वापस जा सकते हैं और कुछ फ़ाइलों को हटा सकते हैं, लेकिन फिर आपको अपने इतिहास को तब से लेकर अब तक फिर से लिखना होगा और फिर अपने मूल में फिर से नए रेपो को बल देना होगा।
git count-objects -v?