2016-04-22 5 views
6

के साथ गिट का उपयोग कर संस्करण नियंत्रण काम पर मैं मॉडलिंग और सिमुलेशन के लिए संस्करण नियंत्रण प्रणाली और डिमोला के रूप में गिट का उपयोग करता हूं।डिमोला/मॉडलिका

मेरे पास एक बड़ा मुद्दा यह है कि एक बार जब मैं स्पर्श करता हूं या गलती से किसी भी पैरामीटर को बदलने के बिना एक आरेख में एक कनेक्शन (कनेक्टिंग तार के हिस्से की बिल्कुल स्थिति) को स्थानांतरित करता हूं - जो आमतौर पर तब होता है जब चर्चा करके चर्चा या व्याख्या होती है सहकर्मियों के लिए चित्र- गिट इसे फ़ाइल में एक संस्करण परिवर्तन या परिवर्तन के रूप में मानते हैं। कम से कम वास्तविक परिवर्तन, कुछ स्वत: जनरेट माडेलिका एनोटेशन में है उदाहरण के लिए:

connect(TT_1.T, Controller.y[1]) annotation (Line(
    points={{48,-20},{48,40},{-22.5,40},{-22.5,29.25}}, 
    color={0,0,127}, 
    smooth=Smooth.None)); 

को (2 लाइनों की तुलना)

connect(TT_1.T, Controller.y[1]) annotation (Line(
    points={{48,-20},{48,38},{-22.5,38},{-22.5,29.25}}, 
    color={0,0,127}, 
    smooth=Smooth.None)); 

मेरे प्रश्न इसलिए है बदल दिया है: कैसे मैं ऐसे रोका जा सकता है किसी भी तरफ कोड में एक अनावश्यक "परिवर्तन": गिट या डिमोला?

+0

अच्छी तरह से, यह एक संस्करण परिवर्तन है, क्योंकि .mo टेक्स्ट फ़ाइल में परिवर्तन होता है, इसलिए मुझे नहीं लगता कि आप गिट साइड पर इसके बारे में कुछ भी कर सकते हैं (गिट के साथ परिवर्तन पूर्ववत करने के अलावा, अगर वे एकमात्र हैं) । – Christoph

+0

@ क्रिस्टोफ मैं इसकी अपेक्षा कर रहा था, मैं यह भी सोच रहा था कि किसी तरह के बदलावों को "अनदेखा" करने की संभावना है या नहीं। लेकिन गिट के साथ परिवर्तन पूर्ववत कैसे करें? मेरा मतलब है कि यह करने से पहले यह संभव है? शायद यह एक जवाब हो सकता है या कम से कम इसका एक हिस्सा हो सकता है! – Medi1Saif

+0

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

उत्तर

3

आपके मॉडल के ग्राफ़िकल भाग को कहीं भी संग्रहीत किया जाना चाहिए, और जगह मॉडलिका का उपयोग एनोटेशन कहा जाता है। प्रत्येक मॉडल, मॉडल का उदाहरण और प्रत्येक कनेक्शन में ऐसी टिप्पणियां होती हैं। ग्राफिक्स "पायहासिक" व्यवहार को प्रभावित नहीं करते हैं, लेकिन वे अभी भी अंतिम उपयोगकर्ता सुविधा के लिए महत्वपूर्ण हैं।
अब, यदि आप GUI से कुछ आइकन या कनेक्शन (या, कुछ और) संपादित करते हैं, तो यह परिवर्तन कोड में दिखाई देगा। और एक बार जब आप सहेजें बटन पर क्लिक करेंगे, तो फ़ाइल डिस्क पर लिखी जाएगी और गिट नोटिस करेगा कि कोड बदल गया है। इनमें से कुछ परिवर्तन उद्देश्य पर हो सकते हैं (कुछ लोग अच्छे दिखने वाले कनेक्शन में बहुत समय निवेश करते हैं), जबकि अन्य परिवर्तन महत्वपूर्ण नहीं हो सकते हैं। बिल्कुल कोई तरीका नहीं है कि एक संस्करण नियंत्रण प्रणाली यह तय कर सकती है कि आप प्रासंगिक क्या मानते हैं, यह निर्णय आपके ऊपर है। आप हमेशा अपने परिवर्तनों को सहेजने का निर्णय नहीं ले सकते (डिमोला में, Save None बटन चुनें)।

आपके द्वारा ज़िम्मेदार परिवर्तनों के अतिरिक्त, आपका टूल (उदा। डिमोला) स्मार्ट होने का प्रयास कर सकता है और कुछ ऑटो-फॉर्मेटिंग कर सकता है। ऐसे उपयोगकर्ता हैं जो डिमोलस व्यवहार को बहुत घुसपैठ करते हैं (उदा। लाइनों को तोड़ना, व्हाइटस्पेस डालना, अप्रासंगिक टिप्पणियां जोड़ना, टिप्पणियां चारों ओर ले जाना)। अफसोस की बात है कि, आप यहां कुछ भी नहीं कर सकते हैं, सिवाय इसके कि डिमोला को एक संपादक के रूप में उपयोग करने के लिए रोकना (और इसके बजाय इसे केवल सिमुलेशन टूल के रूप में उपयोग करें), या आप ttws (ट्रिम-ट्रेलिंग-व्हाइट-स्पेस) जैसे क्लीनअप टूल का उपयोग कर सकते हैं। । जहां तक ​​मुझे पता है, डिमोला आपके आइकनों के चारों ओर नहीं चलता है, इसलिए आपके द्वारा दिखाया गया उदाहरण डिमोला द्वारा घुसपैठ नहीं किया गया था।

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

GitExtensions Commit Stage Revert dialog

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

गिट का उपयोग करने के तरीके पर कई ट्यूटोरियल और पुस्तकें उपलब्ध हैं, शायद आप इन्हें पढ़ना चाहते हैं, साथ ही साथ अपनी पसंद के गिट क्लाइंट के लिए मैनुअल भी पढ़ना चाहते हैं। या, जब आप कुछ भी सहेजना नहीं चाहते हैं तो आप बस सेव बटन पर क्लिक नहीं करते हैं।

+0

मुझे गिट रीसेट के बारे में पता था, लेकिन आपके जवाब के बगल में कार्स्टन की टिप्पणी बहुत उपयोगी थी। मैं उम्मीद कर रहा था कि एक मौका है कि कोई भी गिट के लिए ग्राफिक्स और एनोटेशन को अचूक बना सकता है। – Medi1Saif

+0

पाठ्यक्रम का मेरा उदाहरण केवल डिमोला द्वारा नहीं बनाया गया था, लेकिन यह निश्चित रूप से ऐसा होता है कि मैं बस चाहता हूं या गलती से कुछ घटकों के लेआउट/निर्देशांक बदलता हूं। बेशक डिमोला के लिए यह महत्वपूर्ण बदलाव है, लेकिन मेरे लिए विशेष रूप से मामले में यह गलती से बनाया गया था यह नहीं है! – Medi1Saif