2013-03-25 12 views
9

मेरे पास ~ 12 एमबी मूल्य कोड और संपत्तियां हैं। मैं गिट का उपयोग कर इसे ट्रैक कर रहा हूं, और अभी देखा है कि मेरा .git फ़ोल्डर अब 1.83 जीबी से अधिक है। इसमें कुछ छोटी फाइलें होती हैं, और फिर केवल एक पैक फ़ाइल होती है जो फ़ोल्डर के बारे में 1.82 जीबी बनाती है।गिट रिपोजिटरी बहुत बड़ा

मैंने git gc --aggressive और git gc --prune चलाया है। यह वही आकार है। मैंने कोशिश की है:

git reflog expire --expire=now --all 
git repack -ad # Remove dangling objects from packfiles 
git prune  # Remove dangling loose objects 

लेकिन यह अभी भी वही आकार है। मैंने इसे भी क्लोन किया है (स्थानीय रूप से एक मजबूर मरम्मत के साथ, और एक बार फिर गिट से), लेकिन यह अभी भी 1.83 जीबी है। क्या यह सामान्य है? क्या इसका आकार कम करने का कोई तरीका है, या क्या मैं सिर्फ एक नया रेपो शुरू करता हूं, कोड कॉपी करता हूं, और स्वीकार करता हूं कि मेरे पिछले काम खत्म हो जाएंगे?

+2

"संपत्ति" द्वारा, क्या आपका मतलब छवियों जैसी गैर-संपीड़ित सामग्री है? क्या आप उन्हें बहुत संपादित कर रहे हैं? [यह] (http://naleid.com/blog/2012/01/17/finding-and-purging-big-files-from-git-history/) ऐसा लगता है कि आप क्या कर रहे हैं, लेकिन अस्वीकरण: I इसे कभी नहीं किया है, इसलिए इसके साथ गड़बड़ करने से पहले अपने रेपो को क्लोन करें: पी – Amadan

+5

सामान्य वीसीएस टिप्पणी: बाइनरी फाइलें (छवियां/ज़िप ...) आमतौर पर प्रत्येक संस्करण के लिए संग्रहीत होती हैं (पाठ के विपरीत जिसे संपीड़ित करके बहुत प्रभावी रूप से पैक किया जा सकता है diffs) और संपीड़ित नहीं किया जा सकता है (जैसा कि अधिकांश बाइनरी प्रारूप अब दिन पहले ही संपीड़ित हैं) ... तो यह बहुत अच्छी तरह से हो सकता है कि आपके पास बाइनरी फाइलों के कई संस्करण हो सकते हैं जो बस इतना अधिक जगह लेते हैं (देखें कि क्या आप किसी प्रकार का संग्रह कर सकते हैं संस्करण/फ़ाइल आकारों की संख्या पर प्रति-फ़ाइल-प्रकार आंकड़े) –

+0

ठीक है, बाइनरी फ़ाइल बिट संभावित अपराधी प्रतीत होता है। क्या उन फ़ाइलों को पिछली प्रतिबद्धताओं से हटाने का कोई तरीका है, उन्हें अपनी .gitignore फ़ाइल में जोड़ने के अलावा? – Bryce

उत्तर

10

ठीक है, टिप्पणियां यह समझने की एक बड़ी शुरुआत थी कि समस्या का मूल कारण क्या था। मैं वास्तव में git filter-branch कमांड को वास्तव में समझ नहीं पा रहा हूं, इसलिए मैं इसका उपयोग करने से थोड़ा सावधान था। http://rtyley.github.com/bfg-repo-cleaner/

यह चमत्कार काम किया:

मैं इस उपकरण बारे में जाना। मेरा रेपो अब 10 एमबी से कम है।

+7

मैं बीएफजी रिपो-क्लीनर का लेखक हूं, और आपका उत्तर मुझे बहुत खुश बनाता है। –

+1

धन्यवाद! गंभीरता से, यह टूल वेब के आसपास यादृच्छिक गिट हैक की प्रतिलिपि बनाने और पेस्ट करने से बहुत आसान है। – Bryce

संबंधित मुद्दे