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