बड़ी फ़ाइलों के साथ git इतना धीमा क्यों है?


8

मैं अपनी तस्वीरों को प्रबंधित करने के लिए git का उपयोग करने की कोशिश कर रहा था (बैकअप / स्नैपशॉट ले)। पूरी लाइब्रेरी कई जीबी की है। अधिकांश फाइलें 2-3M की JPG हैं। जब मैं फाइलों को रिपॉजिटरी में शामिल कर रहा था, तो कई दिन लग रहे थे। CPU उपयोग हमेशा 100% के पास था।

क्या कोई कारण है कि बड़ी फ़ाइलों पर गिट धीमी होनी चाहिए?

ps मुझे पता है कि git इसके लिए नहीं बनाया गया था।

जवाबों:


7

डिफ़ॉल्ट रूप से फ़ाइलों को संकुचित करें। डिफ़ॉल्ट रूप से JPEG पहले से संपीड़ित हैं। ऐसा नहीं है कि यह बड़ी फ़ाइलें हैं, यह है कि यह संकुचित फ़ाइलें हैं।

आप वही प्रभाव देखेंगे जो जिप रिपॉजिटरी में जिप फाइल को जोड़ते हैं।

संपादित करें: संपीड़न के बारे में /programming/7102053/git-pull-without-remotely-compressing-objects पर एक दिलचस्प सूत्र है ।


1
मैं फ़ाइलों को संपीड़ित नहीं करने के लिए कैसे बता सकता हूँ? मैं जरूरी अंतरिक्ष दक्षता की जरूरत नहीं है। मैं चाहता हूं कि यह जल्द से जल्द हो। धन्यवाद!
वुडिंग्स

2
वहाँ स्विच का एक मेजबान है जिसमें आप शामिल कर सकते हैं git config, सहित core.compressionऔर pack.window। देखने के रूप में मैं वास्तव में संपीड़न, YMMV के बिना git चलाने की कोशिश की है। कृपया पोस्ट करें जो आपने खोजा है, अपने अनुभव से हम सभी को सीखने में मदद करने के लिए।

@ फिर, आप एक अच्छी बात करते हैं। मैंने आपकी टिप्पणी को वोट दिया है।

2
Git भी (और जांचता है) हर फाइल का एक शा 1 हैश हर बार जब भी इसका उपयोग करता है, तो बड़ी फ़ाइलों के लिए भी कुछ समय ले सकता है।
इरोन

3
@ रैंडोल्फवेस्ट: अच्छा, लेकिन गलत। zlib संपीड़न को बंद किया जा सकता है $ git set core.compression 0। sha1 प्रति सेकंड MiB का दसवां हिस्सा है, लेकिन वे कम मेमोरी स्थितियों के साथ बुरी तरह से हस्तक्षेप कर सकते हैं।
एरोन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.