2009-05-28 5 views
17

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

यदि मैं गिट सबमिड्यूल का उपयोग करता हूं, तो जब डेटा निर्देशिका में चीजें होती हैं (प्रतिबद्ध अपडेट मुझे लगता है), प्रोग्राम के लिए संस्करण नियंत्रण नोट करता है कि सबमिशन के साथ एक अद्यतन है। यदि प्रोग्राम डेटा पर निर्भर करता है तो यह उपयोगी होगा, लेकिन ऐसा नहीं है।

ऐसे परिदृश्य में, क्या गिट सबमिड्यूल का उपयोग किये बिना किसी अन्य कामकाजी प्रति में काम करने की प्रतिलिपि बनाना संभव है?

उत्तर

20

गिट में काम करने की प्रतियां "घोंसला" करना संभव है। तो यदि आप अपने प्रोग्राम भंडार को क्लोन करते हैं, तो उसके अंदर आपकी डेटा फ़ाइलों का क्लोन बनाते हैं, तो आप स्वतंत्र रूप से उनके साथ काम कर सकते हैं। जब गिट फ़ाइल ऑपरेशंस करता है, तो यह निर्देशिका पेड़ को .git निर्देशिका की तलाश में खोजता है, इसलिए डेटा भंडार में किए गए गिट ऑपरेशंस प्रोग्राम रिपॉजिटरी को प्रभावित नहीं करेंगे। यदि आप ऐसा करते हैं, तो आप प्रोग्राम रिपॉजिटरी से शोर को कम करने के लिए डेटा निर्देशिका का नाम .gitignore पर जोड़ना चाह सकते हैं।

+0

इसे सुनकर प्यार करें। क्या ऐसी कोई चीज है जो इस दृष्टिकोण से गलत हो सकती है? या यह सिर्फ काम करता है? –

+3

@ क्रिस्टोफर जेम्स कैलो: मुझे कुछ भी पता नहीं है जो विशेष रूप से गलत हो सकता है। एकमात्र चीज जिसे मैं देखने के बारे में सोच सकता हूं वह यह है कि यदि आप प्रोग्राम निर्देशिका में 'गिट क्लीन-एफ-एक्स' चलाते हैं, तो यह संपूर्ण डेटा निर्देशिका को हटा देगा, भले ही यह '.gitignore' में दिखाई दे। –

+1

बहुत अच्छा लगता है। आज बहुत कुछ उपयोग कर रहे थे, और ऐसा लगता है कि यह पूरी तरह से काम करता है। धन्यवाद! –

1

यह हेरोकू और रेलों के साथ काम करने में एक उपयोगी कामकाज मेथिंक भी है जहां आपके पास प्लगइन हैं जिन्हें संस्करणित करने की आवश्यकता है। वर्तमान में, हेरोोकू गिट सबमिड्यूल का समर्थन नहीं करता है, इसलिए घोंसले वाली कामकाजी प्रतियां सबसे अच्छे समाधान की तरह लगती हैं। इस मामले में, आप .gitignore में प्लगइन निर्देशिका नहीं जोड़ना चाहेंगे, क्योंकि इस मामले में आप अपने प्लगइन को उसकेोकू को धक्का देने में असफल हो जाएंगे, लेकिन se la vi। उम्मीद है कि, अंततः हरोकू गिट सबमिड्यूल का समर्थन करेगा।

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

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