git - Excel फ़ाइलों और SQL स्कीमा फ़ाइलों पर बेहतर दस्तावेज़ संस्करण नियंत्रण कैसे करें




version-control ms-office (6)

मैं कई एक्सेल फ़ाइलों और एसक्यूएल स्कीमा फ़ाइलों का प्रभारी हूं। इन फ़ाइलों पर मुझे बेहतर दस्तावेज़ संस्करण नियंत्रण कैसे करना चाहिए? मुझे इन फाइलों में संशोधित (अलग-अलग भाग) को जानने की आवश्यकता है और संदर्भ के लिए सभी संस्करणों को रखना है। वर्तमान में मैं फ़ाइल नाम पर टाइम स्टैंप जोड़ रहा हूं, लेकिन मुझे लगता है कि यह अक्षम है।

क्या बेहतर दस्तावेज़ संस्करण नियंत्रण करने का कोई तरीका या अच्छा अभ्यास है?

वैसे, संपादक मुझे ईमेल के माध्यम से फाइल भेजते हैं।


एक्सेल फाइलों के साथ मेरा दृष्टिकोण जॉन के समान है, लेकिन कच्चे एक्सेल टेक्स्ट डेटा के साथ काम करने के बजाय मैं अधिक अनुकूल प्रारूपों में निर्यात करता हूं।

यहां वह टूल है जिसका मैं उपयोग करता हूं: https://github.com/stenci/ExcelToGit/tree/master

आपको केवल .xlsm फ़ाइल डाउनलोड करने की आवश्यकता है ( इस पृष्ठ पर देखें कच्चे लिंक पर क्लिक करें।) रीडेमे में वर्णित एक्सेल सेटिंग को देखना न भूलें। आप टेक्स्ट फ़ाइलों में SQL डेटा निर्यात करने के लिए कोड भी जोड़ सकते हैं।

कार्यपुस्तिका बाइनरी एक्सेल से टेक्स्ट फाइलों और विंडोज गिट टूल्स के लॉन्चर दोनों से एक कनवर्टर है, और इसका उपयोग गैर एक्सेल संबंधित परियोजनाओं के साथ भी किया जा सकता है।

मेरा वर्किंग वर्जन दर्जनों एक्सेल वर्कबुक के साथ कॉन्फ़िगर किया गया है। मैं गैर एक्सेल परियोजनाओं के लिए गिट-गुई खोलने के लिए फ़ाइल का उपयोग करता हूं, बस हाथ से गिट फ़ोल्डर जोड़ रहा हूं।


खुले दस्तावेज़ एक्सटेंशन का उपयोग करें। .fods , यह एक सादा, असम्पीडित एक्सएमएल मार्कअप है कि एक्सेल और लिबर ऑफिस दोनों खुले हो सकते हैं, और अंतर अच्छे दिखेंगे।



मैं पिछले कुछ दिनों से इस सटीक समस्या से जूझ रहा हूं और एक्सेल फ़ाइलों को निकालने और सामान्य करने के लिए एक छोटी .NET उपयोगिता लिखी है ताकि वे स्रोत नियंत्रण में स्टोर करना अधिक आसान हो। मैंने यहां निष्पादन योग्य प्रकाशित किया है:

https://bitbucket.org/htilabs/ooxmlunpack/downloads/OoXmlUnpack.exe

..और यहां स्रोत:

https://bitbucket.org/htilabs/ooxmlunpack

यदि कोई दिलचस्पी है तो मुझे यह अधिक विन्यास योग्य बनाने में खुशी होगी, लेकिन फिलहाल, आपको निष्पादन योग्य को एक फ़ोल्डर में रखना चाहिए (उदाहरण के लिए अपने स्रोत भंडार की जड़) और जब आप इसे चलाते हैं, तो यह होगा:

  • किसी भी .xlsx और .xlsm फ़ाइलों के लिए फ़ोल्डर और इसके सबफ़ोल्डर स्कैन करें
  • फ़ाइल की प्रतिलिपि * .orig के रूप में लें
  • प्रत्येक फ़ाइल को अनजिप करें और इसे संपीड़न के साथ फिर से ज़िप करें
  • संग्रह में किसी भी फाइल को सुंदर प्रिंट करें जो वैध एक्सएमएल हैं
  • संग्रह से calcchain.xml फ़ाइल हटाएं (क्योंकि यह बहुत बदलता है और फ़ाइल की सामग्री को प्रभावित नहीं करता है)
  • किसी भी अनफॉर्म किए गए टेक्स्ट मानों को इनलाइन करें (अन्यथा इन्हें लुकअप टेबल में रखा जाता है जो आंतरिक एक्सएमएल में बड़े बदलावों का कारण बनता है यदि एक सेल भी संशोधित होता है)
  • फॉर्मूला वाले किसी भी कक्ष से मान हटाएं (क्योंकि शीट को अगली बार खोला जाने पर उनकी गणना की जा सकती है)
  • एक उपफोल्डर * .extracted बनाएँ, निकाले गए ज़िप संग्रह सामग्री युक्त

जाहिर है कि इन सभी चीजों को जरूरी नहीं है, लेकिन अंतिम परिणाम एक स्प्रेडशीट फ़ाइल है जो अभी भी एक्सेल में खुल जाएगी लेकिन जो diffing और incremental संपीड़न के लिए अधिक सक्षम है। साथ ही, निकाली गई फ़ाइलों को संग्रहीत करने से संस्करण संस्करण में यह और भी स्पष्ट हो जाता है कि प्रत्येक संस्करण में कौन से परिवर्तन लागू किए गए हैं।

यदि वहां कोई भूख है, तो मुझे उपकरण को और अधिक विन्यास योग्य बनाने में प्रसन्नता हो रही है क्योंकि मुझे लगता है कि हर कोई सामग्री निकालने की इच्छा नहीं करेगा, या संभावित रूप से फॉर्मूला कोशिकाओं से हटाए गए मान, लेकिन इस समय दोनों मेरे लिए बहुत उपयोगी हैं।

परीक्षणों में, 2 एमबी स्प्रेडशीट 'अनपैक' 21 एमबी तक है, लेकिन फिर मैं 1.9 एमबी मर्कुरियल डेटा फ़ाइल में प्रत्येक के बीच छोटे बदलावों के साथ इसके पांच संस्करणों को स्टोर करने में सक्षम था, और टेक्स्ट मोड में तुलना से परे प्रभावी ढंग से संस्करणों के बीच अंतरों को कल्पना करता हूं।

एनबी हालांकि मैं Mercurial का उपयोग कर रहा हूँ, मैंने अपने समाधान की खोज करते समय इस सवाल को पढ़ा और समाधान के बारे में कुछ भी नहीं है, गिट या किसी अन्य वीसीएस के लिए ठीक काम करना चाहिए


यह एक्सेल उपयोगिता मेरे लिए बहुत अच्छी तरह से काम करती है:

एक्सेल के लिए संस्करण नियंत्रण

यह कार्यपुस्तिकाओं और वीबीए मैक्रोज़ के लिए एक सरल सीधा संस्करण है। एक बार जब आप एक संस्करण करते हैं, तो यह आपके पीसी पर गिट भंडार में सहेजा जाता है। कभी कोशिश नहीं की। एसक्यूएल स्कीमा फाइलें, लेकिन मुझे यकीन है कि चारों ओर एक रास्ता है।


हमने Excel कार्यपुस्तिकाओं के लिए एक ओपन-सोर्स गिट कमांड लाइन एक्सटेंशन बनाया है: https://www.xltrail.com/git-xltrail

संक्षेप में, मुख्य विशेषता यह है कि यह किसी भी कार्यपुस्तिका फ़ाइल स्वरूपों पर git diff काम करता है ताकि यह कार्यपुस्तिका की वीबीए सामग्री पर भिन्नता दिखाता है (किसी बिंदु पर, हम वर्कशीट सामग्री के लिए भी यह काम करेंगे)।

यह अभी भी शुरुआती दिनों में है लेकिन इससे मदद मिल सकती है।





versioning