दिलचस्प पोस्ट
एक पाठ फ़ाइल को कैसे संशोधित करें? शुद्ध एमवीसी एचटीएमएल। चेकबॉक्स का उचित उपयोग मैं रेल में एक अलग प्रारूप का आंशिक कैसे रेंडर कर सकता हूं? जावास्क्रिप्ट के साथ चयन करने के लिए विकल्प जोड़ना MYSQL – ORDER BY & LIMIT JSF अजाक्स अनुरोधों में अपवाद हैंडलिंग मैं पीआईएल का उपयोग करके एक छवि का आकार कैसे बदलूं और इसके पहलू अनुपात को बनाए रखूं? कैसे सी # अस्पष्टता और पैरामिक्स के साथ चुनता है जावास्क्रिप्ट: बंद लूप का? निर्भर कैसे लोड करें और प्रदर्शित करें h: चयन करेंऑनमेनू को बदलने पर: चयन करेंमेनमेनू WPF में टेक्स्ट बॉक्स का अक्षम पृष्ठभूमि रंग कैसे बदल सकता है एक ऐप कैसे पता लगा सकता है कि इसे अनइंस्टॉल किया जा रहा है? कनेक्शन के बीच अंतर क्या है और कुर्सियों के लिए टाइमआउट पढ़ने के लिए? D3.js में प्रारंभ बिंदु से अंत बिंदु तक आसानी से पथ कैसे आकर्षित करें एसक्यूएल सर्वर में आईपी पते को स्टोर करने के लिए डेटाटाइप

गीता में विक्रेता शाखाएं

एक गीट प्रोजेक्ट की दूसरी परियोजना है जिसकी सामग्री स्वतंत्र रूप से काम कर रही है।

उपमॉड्यूल का उपयोग छोटे के लिए नहीं किया जा सकता है, क्योंकि उपप्रोजेक्ट भी शामिल होना चाहिए जब उपयोगकर्ता 'माता-पिता' को क्लोन करने या डाउनलोड करने का प्रयास करेंगे।

सबट्री-मर्जिंग का उपयोग नहीं किया जा सकता है, क्योंकि उपप्रोजेक्ट सक्रिय रूप से विकसित किया जा रहा है, और उपशीर्षक विलय करने से उन अपडेट को मूल प्रोजेक्ट में विलय करना बहुत कठिन हो जाता है।

मुझे सूचित किया गया है कि समाधान एसवीएन दुनिया में "वेंडर शाखाओं" के रूप में जाना जाता है, और यह कि यह गिट में बस इतना किया जाता है ताकि संबोधित करने की जरूरत न हो। अर्ध बेक्ड ट्यूटोरियल 'नेट पर प्रचुर मात्रा में है

बहरहाल, मैं इसे काम करने के लिए प्रतीत नहीं कर सकता।

क्या कोई कृपया (कृपया कृपया) समझा सकता है कि मैं एक संरचना कैसे बना सकता हूँ जिसमें एक परियोजना दूसरे के भीतर मौजूद है, और दोनों को उसी कार्य निर्देशिका से विकसित और अद्यतित किया जा सकता है आदर्श रूप से [या बल्कि: यह बहुत महत्वपूर्ण है, अगर असमर्थित] कि जब कोई क्लाइंट 'पेरेंट' प्रोजेक्ट को डाउनलोड करने का प्रयास करता है, तो उन्हें स्वतः ही उपप्रोजेक्ट का नवीनतम संस्करण दिया जाना चाहिए

कृपया मुझे यह बताएं कि मैं submodules या subtree-merge या SVN का उपयोग कैसे करना चाहिए: बाह्य। यह धागा निम्न SO धागा का परिणाम है, और अगर वहां कुछ याद किया गया है, तो कृपया इसे वहां पोस्ट करें। यह धागा विक्रेता की शाखाओं के बारे में समझने की कोशिश कर रहा है, और अब तक, स्पष्ट, और अधिक एक स्पष्टीकरण को ड्यूमिड किया गया है जो मुझे अधिक खुशी होगी I

वेब के समाधान से एकत्रित समाधान "गीता में विक्रेता शाखाएं"

मुझे लगता है कि "डिपार्टमेंट ब्रांच" की बात आती है तो डिब्ब्यूड्यूल जाने का तरीका होता है
यहां बताया गया है कि कैसे आप सबमिड का उपयोग करें … हम्म्, बस मजाक कर रहे हैं

सिर्फ एक विचार; तुम्हें चाहिए:

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

दो दृष्टिकोण संगत नहीं हैं:

  • पहली रणनीति एक सबट्री-मर्ज के साथ संगत है: आप प्रोजेक्ट और उप-प्रोजेक्ट पर दोनों काम कर रहे हैं।
  • दूसरे एक का उपयोग सबमोड्यूल्स के साथ किया जाता है, लेकिन एक विन्यास (टैग की आप को काम करने की आवश्यकता है) की सूची को परिभाषित करने के लिए उपयोग किया जाता है: प्रत्येक गीट सबडोम, जो कि svn: externals के विपरीत नहीं है, को किसी विशिष्ट commit id के लिए पिन किया जाता है, और यही वह है जो आपको अनुमति देता है एक कॉन्फ़िगरेशन को परिभाषित करें (एस सी एम में: "सॉफ्टवेयर कॉन्फ़िगरेशन प्रबंधन")

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

क्या वास्तव में आपके प्रश्न में उस दृष्टिकोण ("घटक-आधारित") को रोकता है "दोनों ही एक ही काम कर रहे निर्देशिका से विकसित और अद्यतन किया जा सकता है" भाग
मैं वास्तव में आपको उस आवश्यकता पर पुनर्विचार करने के लिए आग्रह करता हूं, क्योंकि अधिकांश आईडीई कई "स्रोत" निर्देशिकाओं के साथ पूरी तरह से सक्षम हैं, और उप-परियोजना विकास अपने स्वयं के समर्पित वातावरण में किया जा सकता है।


समगुडी कहते हैं:

Joomla और ModX दोनों के लिए एक एपीएमपी प्लगइन की कल्पना करो प्लगइन और जूमला-विशिष्ट कोड (जो जूमला का हिस्सा है, ईमैप का नहीं है) दोनों ही विकसित किए जाते हैं, जबकि प्लगइन जूमला के अंदर है। सभी पथ रिश्तेदार हैं, संरचना कठोर है, और उन्हें एक साथ वितरित किया जाना चाहिए – भले ही प्रत्येक प्रोजेक्ट का अपना जीवनचक्र हो।

अगर मैं सही ढंग से समझता हूं, तो आप एक कॉन्फ़िगरेशन में हैं जहां विकास पर्यावरण (जिन फ़ाइलों का आप काम कर रहे हैं) वितरण वातावरण (फ़ाइल का एक ही सेट रिलीज़ प्लेटफॉर्म पर कॉपी किया गया है)

यह सब ग्रैन्यूलरिटी इश्यू के लिए आता है:

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

समगुडी कहते हैं:

मूल थैली में सबमोडुल्स के साथ सूचीबद्ध मुद्दे – मुख्यतः कि गीथहब के डाउनलोड में उन्हें (मेरे लिए महत्वपूर्ण) शामिल नहीं है और ये कि वे एक विशेष प्रतिबद्धता पर फंस जाते हैं।

मुझे यकीन नहीं है कि गिटहब का डाउनलोड हाल ही में कोई मुद्दा है: " मार्गदर्शिकाएँ: उपमॉड्यूल के साथ विकसित " लेख में उल्लेख है:

सबसे अच्छे से: आपके my-awesome-framework कांटे की क्लोनिंग करने वाले लोगों को आपके my-fantastic-plugin सबडोम को खींचने में कोई समस्या नहीं होगी, जैसा कि आपने सबप्लोड के लिए सार्वजनिक क्लोन यूआरएल पंजीकृत किया है। आज्ञाओं

 $ gh submodule init $ gh submodule update 

वर्तमान भंडार में submodules को खींच लेंगे

के रूप में "वे एक विशेष प्रतिबद्ध पर अटक जाते हैं" के रूप में: यह एक submodule के सभी बिंदु है, आप फ़ाइलों के नवीनतम संभावित अस्थायी सेट फ़ाइलों के बजाय एक कॉन्फ़िगरेशन (घटकों के टैग किए गए संस्करण की सूची) के साथ काम करने की इजाजत देते हैं।

समग्या का उल्लेख है:

मुझे उपशीर्षक और submodules (प्रश्न देखें) से बचने की जरूरत है, और इस दृष्टिकोण को न तो बहुत बहस किए बिना इस दृष्टिकोण को संबोधित करना चाहिए अगर दृष्टिकोण उचित है

आपकी आवश्यकता पूरी तरह से वैध है, और मैं इसकी औचित्य का न्याय नहीं करना चाहता हूं: मेरे पिछले उत्तर केवल एक बड़ा संदर्भ प्रदान करने के लिए हैं और आमतौर पर सामान्य एससीएम टूल के साथ उपलब्ध विकल्पों को स्पष्ट करने का प्रयास करें।

सबब्री मर्ज का उत्तर यहाँ होना चाहिए, लेकिन मुख्य परियोजना के लिए फाइलों के लिए किए गए केवल एकमात्र बदलाव को मर्ज करने के लिए कहा जाएगा, और उप-परियोजनाओं के लिए किए गए कमानों के लिए नहीं होगा। यदि आप उस प्रकार के आंशिक मर्ज को प्रबंधित कर सकते हैं, तो मैं यह मानूंगा कि यह अनुपालन करने का सही मार्ग है।

मुझे नहीं लगता कि एक देशी जीआईटी का तरीका जो आप चाहते हैं वह सबट्री-मर्ज या थीम का उपयोग नहीं करता है।
मुझे आशा है कि एक सच्चे गीत गुरू यहाँ एक अधिक पर्याप्त जवाब पोस्ट करेंगे।

मैं आखिर में कुछ घंटों तक पहुंचता हूं, इससे पहले कि मैं पहाड़ों पर वापस आ जाऊं। हम देखेंगे कि मुझे अपनी स्थिति में स्पष्टता देने के लिए कुछ भी है या नहीं।

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

  1. वॉनसी की तरह (जो आमतौर पर चीजों को बहुत अच्छी तरह से सोचते हैं) मुझे नहीं लगता कि गिट आपकी आवश्यकताओं के लिए एकदम सही है। और उसके जैसे, मुझे लगता है कि उपप्रि मर्ज पैटर्न का उपयोग करना सबसे निकटतम फिट है। मैं एक गीता गुरू नहीं हूं, लेकिन मैं गिट को कई तरह की ज़रूरतों के लिए झुकने में सफल रहा हूं। शायद गिट आपकी आवश्यकताओं को पूरा नहीं करता है:

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

    • मर्सूरियल के पास नेस्टेड रेपो का उपयोग करने के लिए एक एक्सटेंशन, फ़ॉरेस्ट है , जो आपके मानसिक मॉडल को बेहतर ढंग से फिट करने लगता है मैंने 15 महीने पहले मित्तिक पर गीत को चुना, लेकिन एचजी स्थिर था और कई प्रयोगों के लिए मुझे लगता है कि यह गीट के लिए तुलनीय है। मुझे नहीं पता कि विस्तार कितना स्थिर है

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

    मैं तर्कसंगत होने की कोशिश नहीं कर रहा हूं, लेकिन बस यह कहने के लिए कि आपकी स्थिति की मेरी समझ के लिए यह गिट का सबसे अच्छा फिट है इसे सेट करने का सबसे आसान तरीका उपखंड का मर्ज का उपयोग करेगा, लेकिन यह दोनों दिशाओं में इसके माध्यम से परिवर्तन नहीं चलाता, जो उस पैटर्न का उपयोग करने के लिए मेरी आपत्ति थी।

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

शायद मैंने आपकी स्थिति को गलत समझा है और इनमें से कोई भी लागू नहीं है। यदि हां, तो मैं माफी चाहता हूँ आपके और वोनसी ने जो काम किया है, उसके लिए धन्यवाद, जिसने आपके कई प्रश्नों को पूरा किया है, जिसमें मैंने मूल रूप से आपके प्रश्न को समझने की कोशिश की थी।