मेरे पास Mercurial में एक फ़ाइल है कि मैं चाहता हूं कि देव मशीनें फ़ाइल खींचें, लेकिन मैं चाहता हूं कि तैनाती सर्वर फ़ाइल को खींच न सके (इसमें विशेष मोड हैं जो देव मशीनों के पास नहीं है) । क्या यह संभव है, या क्या मुझे सिर्फ एचजी पुल करने के बजाय सर्वर समाधान के लिए कस्टम पुश होना चाहिए?सशर्त Mercurial अनदेखा फ़ाइल
उत्तर
ऐसा करने के लिए निम्न कार्य करने के लिए किया जाएगा करने के लिए एक विशिष्ट तरीका:
आप भंडार में प्रत्येक फ़ाइल की एक प्रतिलिपि संग्रहीत करते हैं और उन्हें सही ढंग से नाम दें।
web.server.config
web.dev.config
तो फिर तुम एक निर्मित कदम जोड़ना होगा सही फ़ाइल सुनिश्चित करने के लिए: उदाहरण के लिए, अगर सवाल में फ़ाइल web.config
है, तो आप भंडार में निम्नलिखित दो संग्रहीत करेंगे वास्तविक web.config
फ़ाइल में प्रतिलिपि की गई, तो आप एक बैच फ़ाइल इस्तेमाल कर सकते हैं:
if "%COMPUTERNAME%" == "SERVER" copy web.server.config web.config
if not "%COMPUTERNAME%" == "SERVER" copy web.dev.config web.config
आप फिर .hgignore के माध्यम से web.config ही उपेक्षा होगा:
glob:web.config
क्या यह ऐसा कुछ है जिसे संस्करण नियंत्रण के बाहर हल किया जा सकता है? उदाहरण के लिए, रिपॉजिटरी की सभी प्रतियों में फ़ाइल शामिल करें, लेकिन पर्यावरण चर या कुछ समान के साथ इसका उपयोग सक्षम या अक्षम करें। ऐसा लगता है कि अधिकांश वर्जन कंट्रोल सिस्टम को संभालने के लिए बनाया गया है, जब तक कि आप अद्यतन करने के बाद फ़ाइलों को जोड़ने/निकालने/पैच जैसी चीजों को करने के लिए ग़लत हैक का उपयोग न करें।
एक विकल्प तैनाती सर्वर, कि या भंडार में शामिल नहीं किया जा सकता है हो सकता है के लिए एक विशेष hgignore फ़ाइल बनाने के लिए है। फिर सर्वर की hgrc फ़ाइल में ignore
चर के साथ विशेष hgignore फ़ाइल का पथ निर्दिष्ट करें।
यह सुनिश्चित करेगा कि फ़ाइल के अपडेट को तैनाती सर्वर द्वारा अनदेखा किया जाएगा लेकिन अभी भी विकास मशीनों के लिए सामान्य रूप से अपडेट किया जा सकता है।
कार्ल्सन के उत्तर का एक रूप जो मैं हमेशा उपयोग करता हूं।
मेरे पास /config
या /etc
प्रोजेक्ट में निर्देशिका है।
dev.yaml
ci_server.yaml
तब मेरे क्षुधा /etc/app.yaml
जो मेजबान उस पर चलाया जा रहा है पर निर्भर करता है सही config करने के लिए एक सिमलिंक है से खींच: यह निर्देशिका अक्सर की तरह नमूना कॉन्फ़िगरेशन शामिल होंगे।
इस तरह से है कि आप संस्करण कोड पथ (बैच स्क्रिप्ट शाखाओं) जो एक संभावित बग वेक्टर समाप्त की जरूरत नहीं है यह करने के बारे में सबसे अच्छा लगता है। यह आपको उसी कोड पथ का उपयोग करने की अनुमति देता है जिसका उपयोग उत्पादन में किया जाएगा (नीचे ओवरराइड फ़ाइल को देखने के लिए कहां से)।
- 1. mercurial .hgignore - फ़ाइलों को अनदेखा नहीं करेगा
- 2. Mercurial
- 3. Mercurial .hgrc फ़ाइल
- 4. क्या Mercurial में एक अनदेखा-पर-प्रतिबद्ध विकल्प है?
- 5. बैच फ़ाइल सशर्त कथन
- 6. Mercurial सभी छिपी हुई फ़ाइलों को अनदेखा कैसे करें?
- 7. Mercurial diff: पिछली सफेद जगह को अनदेखा करें?
- 8. Mercurial Commit (TortoiseHG)
- 9. Mercurial
- 10. Mercurial: ट्रैक किए गए फ़ाइल में परिवर्तनों को अनदेखा कैसे करें
- 11. Mercurial
- 12. Mercurial - सभी विलय को अनदेखा कर शाखा में परिवर्तन देखें
- 13. Mercurial
- 14. Mercurial
- 15. Mercurial
- 16. Mercurial
- 17. Mercurial
- 18. Mercurial
- 19. Mercurial
- 20. Mercurial
- 21. Mercurial
- 22. Mercurial: सभी परिवर्तनों से फ़ाइल निकालें
- 23. Mercurial .hgrc फ़ाइल में रिपोजिटरी सापेक्ष पथ
- 24. Mercurial के साथ एकल फ़ाइल में जांचें?
- 25. Mercurial .hgignore नकारात्मक लुकहेड
- 26. सशर्त
- 27. Mercurial
- 28. Mercurial
- 29. Mercurial
- 30. Mercurial
मैं सहमत हूं, लेकिन यह फ़ाइल सर्वर और देव मशीनों पर दोनों आवश्यक है। यह वेब यूआरएल/डीबी कनेक्शन स्ट्रिंग्स/आदि के पथों के साथ एक सेटिंग फ़ाइल है, और ये मान देव मशीनों की तुलना में सर्वर पर अलग हैं। – Jan
क्या वे अक्सर बदलते हैं? –
अक्सर नहीं। – Jan