दिलचस्प पोस्ट
एंड्रॉइड में मेनू आइटम का टेक्स्ट रंग कैसे बदल सकता है? स्कला में विधि और फ़ंक्शन के बीच अंतर फ्लास्क दृश्य से JSON प्रतिक्रिया वापस क्या सी के किसी भी दो-दो-पूरक पूरक हैं? कैसे जावास्क्रिप्ट में एक वैश्विक चर घोषित करने के लिए? वॉटरमार्क / संकेत पाठ / प्लेसहोल्डर पाठ बॉक्स WPF में कैसे अनुकूलित / एक UIPopoverController शैली एसक्यूएल WHERE क्लॉज शॉर्ट-सर्किट मूल्यांकन क्या है? पंक्ति में JTable डुप्लिकेट मान नकारात्मक घाटे के लिए स्क्विअरिंग द्वारा पावर Gmail का उपयोग करके PHP मेल एमवीसी 3 में वर्तमान पेज यूआरएल कैसे प्राप्त करें वादा डिस्पोजर पैटर्न क्या है? कैसे एक JTable गैर-संपादन योग्य बनाने के लिए सेटिंग सिस्टम संपत्ति

सर्वश्रेष्ठ अभ्यास – जीआईटी + बिल्ड स्वचालन – अलग-अलग कॉन्फ़िगिंग रखना

मेरे कॉन्फ़िग फाइल को अलग रखने के लिए सर्वोत्तम तरीकों की तलाश करना, फिर भी नए डेवलपर्स के लिए अपने वातावरण सेट अप करने के लिए अतिरिक्त कदम लागू नहीं करें।

मैं अनुमान लगा रहा हूं कि काम करने के लिए एक सबडोम पर्याप्त होगा, लेकिन फिर मैं हाथ में कार्य के आधार पर सिंक्रनाइज़ को कैसे बदलूंगा, डीआईएफ कॉन्फ़िग को नियमित रूप से खींच कर निर्माण के दौरान प्रोप रेपो की प्रॉड शाखा खींचूँ?

होने की जरूरत:

  • नए देवों के लिए आसान और दर्द रहित
  • PROD कॉन्फ़िग फाइल उपयोगकर्ताओं को चुनने के लिए ही पहुंच योग्य होनी चाहिए + यूजर बिल्ड करें

पहले ही, आपका बहुत धन्यवाद।

वेब के समाधान से एकत्रित समाधान "सर्वश्रेष्ठ अभ्यास – जीआईटी + बिल्ड स्वचालन – अलग-अलग कॉन्फ़िगिंग रखना"

इसे सामग्री फिल्टर ड्राइवर कहा जाता है , और यह आपको .gitattributes फ़ाइल (और केवल आपकी कॉन्फ़िग फाइल प्रकार के लिए) में एक .gitattributes घोषित करने की अनुमति देता है, जो स्वचालित रूप से चेकआउट पर होता है :

  • एक config फाइल टेम्पलेट फ़ाइल ( config.tpl ) को config.tpl
  • सही config फाइल मान ( config.dev , config.prod , …) के साथ
  • एक गैर-संस्करणित कॉन्फ़िग फ़ाइल (निजी फ़ाइल) का निर्माण करने के लिए

यहां छवि विवरण दर्ज करें

" अनुकूलनशील गीट गुण " देखें:

 echo '*.cfg.tpl config' >> .gitattributes git config --global filter.config.smudge yourScript 

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

 #!/bin/sh branch=$(git rev-parse --symbolic --abbrev-ref HEAD)