मैं वर्तमान में अपने संस्करण नियंत्रण प्रणाली के लिए गिट का उपयोग करना शुरू कर रहा हूं, हालांकि मैं वेब/गेम विकास का एक उचित हिस्सा करता हूं जिसमें निश्चित रूप से छवियों (बाइनरी डेटा) को संग्रहीत करने की आवश्यकता होती है। तो अगर मेरी समझ सही है तो मैं एक छवि करता हूं और यह 100 गुना बदलता है, अगर मैं उस रेपो की ताजा प्रति प्राप्त करता हूं तो मैं मूल रूप से उस बाइनरी फ़ाइल के सभी 100 संशोधनों की जांच कर रहा हूं?गिट और बाइनरी डेटा
क्या यह बड़े रेपो के साथ कोई समस्या नहीं है जहां छवियां नियमित रूप से बदलती हैं, रेपो खत्म होने का प्रारंभिक प्राप्त नहीं होता है? क्या किसी ने असली दुनिया में इसके साथ किसी भी मुद्दे का अनुभव किया है? उदाहरण के लिए मैंने कुछ विकल्प देखे हैं, सबमिड्यूल का उपयोग करके और छवियों को एक अलग रेपो में रखते हुए, लेकिन यह केवल कोडेबेस को छोटा रखता है, छवि रिपो अभी भी बहुत बड़ा होगा। असल में मैं बस सोच रहा हूं कि इसका कोई अच्छा समाधान है या नहीं।
यह गिट की एक डिजाइन सीमा है। यह एक चीज अच्छी तरह से करने के लिए लिखा गया था: लिनक्स स्रोत पेड़ का प्रबंधन, जो कि काफी सादा पाठ है। गिट सभी diffs और विलय के बारे में है, चीजें जो वास्तव में छवियों पर लागू नहीं है।यदि आपकी मीडिया फाइलें वास्तव में बड़ी या अक्सर संपादित की जाती हैं, तो आप उन फ़ाइलों के इतिहास को संग्रहीत करने के लिए एक अलग तंत्र का उपयोग करना बेहतर कर सकते हैं, और यदि आप वास्तव में कोड पर सहयोग नहीं कर रहे हैं या बहुत सारी शाखाएं बना रहे हैं, तो आप बेहतर हो सकते हैं गिट का उपयोग न करें। – user57368
गिट बाइनरी फाइलों का सामना करेगा, और सिस्टम जो * स्टोरेज * डेल्टा के लिए उपयोग करता है वह द्विआधारी सामग्री पर आधारित होता है (पैच में दिखाई देने वाले पाठ भिन्नता को फ्लाई पर गणना की जाती है, जो संग्रहीत की गई प्रस्तुति नहीं है)। ऐसा कहकर, संपीड़ित छवियों के लिए xdelta अंतरिक्ष आवश्यकता को कम करने की संभावना नहीं है। आप अपनी सभी छवियों को XPM या BMP के रूप में सहेज सकते हैं: p – araqnid