जब एक जीवित व्यवस्था को बनाए रखने, मैं लगता है कि यह फ़ाइलों को एड-हॉक अस्थायी परिवर्तन करने के लिए कभी कभी आवश्यक है - प्रवेश स्तर को बदलने, लिपियों आदि को ट्रेस विकल्पों को जोड़नेमुझे गिट को इंगित करना चाहिए कि परिवर्तन क्षणिक हैं और क्या नहीं किया जाना चाहिए?
जब मैं इस, मेरे अर्ध स्वचालित तंत्र करना अप्रतिबद्ध परिवर्तन और मर्ज ना किए गए शाखाओं को खोजने के लिए अक्सर झूठे सकारात्मक दिखाई देते हैं:
- अगर मैं परिवर्तन अप्रतिबद्ध छोड़ देते हैं, या सिर्फ गंदे के रूप में मंचन मेरी चेकर स्क्रिप्ट झंडे तो, ऊपर रेपो।
- यदि मैं उन्हें "अस्थायी परिवर्तन प्रतिबद्ध" के रूप में प्रतिबद्ध करता हूं, तो उन्हें 'रिमोट शाखा से पहले परिवर्तन' के रूप में ध्वजांकित किया जाता है
- यदि मैं उन्हें बिना किसी रिमोट के एक नई शाखा पर प्रतिबद्ध करता हूं, तो उन्हें ' रिमोट के बिना शाखा '।
आम तौर पर, इन सभी परिवर्तन जो अप विलय कर नहीं किया गया है खोजने के लिए की जरूरत है, लेकिन यह भी मतलब है कि 'छिपा' अस्थायी परिवर्तन की हर तरह से बहुत दूर अवरुद्ध है।
ध्यान दें कि मैं --assume-unchanged नहीं चाहता क्योंकि एक ही फ़ाइल में अक्सर अस्थायी परिवर्तन (जो मैं याद नहीं करना चाहता) और स्थायी परिवर्तन (जो मैं करता हूं), और Handling temporary changes (not to be committed) in Git के माध्यम से देख रहा है सुझाव जो इन सभी आवश्यकताओं को संबोधित करते हैं।
Mercurial के साथ, मैं Mercurial Queues का उपयोग करने के लिए जो कुछ भी चाहता हूं उसके करीब पहुंचने के लिए देखता हूं। मैं अपने अस्थायी परिवर्तनों के साथ एक पैच बनाउंगा, फिर यदि मेरी विश्लेषण उपयोगिता को पैच कतार मिली तो यह उन्हें पॉप करेगा, विश्लेषण करेगा और फिर उन्हें वापस धक्का देगा। यह प्रभावी रूप से केवल अस्थायी परिवर्तनों को हटा देगा, केवल उन परिवर्तनों पर विश्लेषण करेगा जिन्हें मैंने अस्थायी समझा नहीं है, और फिर उन परिवर्तनों को दोबारा लागू करें।
कार्यशील निर्देशिका में परिवर्तन करने वाले किसी भी दृष्टिकोण के साथ समस्या यह है कि यह लाइव सिस्टम के व्यवहार को प्रभावित करेगा - उदाहरण के लिए, हमारी लॉगिंग सिस्टम प्रत्येक 10 सेकंड या तो लॉगिंग कॉन्फ़िगरेशन के अपडेट के लिए जांचती है।
तो, मैं कैसे गिट को इंगित कर सकता हूं कि कुछ बदलाव क्षणिक हैं और उन्हें प्रतिबद्ध नहीं किया जाना चाहिए और/या विलय नहीं किया जाना चाहिए, जबकि अन्य को चाहिए?
कोड को बदले में सभी बदलावों को अनवरोधित कॉन्फ़िगरेशन फ़ाइलों में बदल दिया गया है? – choroba
मैं इस उपयोग के मामले में उलझन में हूं - आप कहते हैं कि आप एक लाइव सिस्टम में बदलाव कर रहे हैं, लेकिन संकेत देते हैं कि स्थानीय रूप से उस शाखा को रिमोट के रूप में नहीं रखने के आपके स्थानीय चेकर्स के साथ समस्या का कारण बनता है। क्या आप इस स्थानीय रेपो, किसी भी लाइव सेवाओं और रिमोट के बीच संबंधों के बारे में कुछ विवरण दे सकते हैं - यानी रिमोट की तुलना में स्थानीय का कार्य क्या है? – LightCC
मुझे यकीन नहीं है कि आप @LightCC से क्या पूछ रहे हैं। स्थानीय लाइव रेपो में लाइव सिस्टम के लिए स्रोत कोड होता है, संकलित कोड जो वास्तव में सेवा चला रहा है (गिटिग्नर्ड) और कॉन्फ़िगरेशन (वसंत, जो अस्थायी रूप से बदल सकता है)। क्या वह जानकारी है जिसके बाद आप हैं? चेकर विशेष रूप से असामान्य परिवर्तनों को देखता है, जो कि रिमोट और शाखाओं में धक्का नहीं दिया गया है, जिनके पास कोई रिमोट नहीं है (इसलिए निहितार्थ द्वारा धक्का नहीं दिया गया है) क्योंकि ये सभी चीजें हैं जिन्हें मैं सामान्य रूप से जानना चाहता हूं, सिवाय इसके कि जब वे परिवर्तन अस्थायी हैं - इसलिए मेरा प्रश्न। –