2011-07-08 11 views
25

पर गिट सबमिशन प्रोटोकॉल को प्रतिस्थापित करें, मैं इसमें गिट @ ... URL से एक सबमिशन जोड़ता हूं, इसमें विकसित होने में सक्षम होना। अब मैं ऐप को तैनात करना चाहता हूं और यूआरएल को गिट के साथ बदलना चाहता हूं: // ... एक, इसलिए इसे कैपिस्ट्रानो से सबमिशन के रेपो को प्रमाणीकरण की आवश्यकता नहीं है। क्या यह पूरा करने के लिए पूरी तरह से पर्याप्त .gitmodules में यूआरएल संपादित कर रहा है?गिट से http

उत्तर

51

.gitmodules फ़ाइल (फिर इसे करने और इसे दबाकर) संपादित करना किसी भी नए क्लोन के लिए पर्याप्त होगा।

इसके अतिरिक्त, जब एक submodule आरंभ नहीं हो जाता (जैसे git submodule init …, git submodule update --init …, या git clone --recursive …, आदि) को उसके URL भंडार के .git/config फाइल करने के लिए .gitmodules फ़ाइल से नकल कर रहा है।

तो, अगर आप किसी भी मौजूदा "तैनाती क्लोन" (लोगों को अब आप git://… यूआरएल के माध्यम से submodules का उपयोग करना चाहते हैं) है, तो आप भी अपने .git/config में URL को अपडेट करना होगा। आप वर्तमान .gitmodules फ़ाइल से अपने .git/config फ़ाइल में स्वचालित रूप से सबमिशन यूआरएल की प्रतिलिपि बनाने के लिए git submodule sync का उपयोग कर सकते हैं (यानी एक बार जब आपने .gitmodules फ़ाइल अपडेट की है तो प्रतिबद्धता खींच ली है)।

.git/config में सबमिशन यूआरएल आमतौर पर स्वचालित रूप से अपडेट नहीं होते हैं क्योंकि ऐसे मामले हैं जहां आप केवल कुछ स्थितियों में यूआरएल को ओवरराइड करना चाहते हैं। विशेष रूप से, आप अक्सर अपने रिपोजिटरी के .git/config (इसलिए आप एसएसएच पर धक्का दे सकते हैं) में [email protected] यूआरएल का उपयोग करना चाहते हैं, लेकिन .gitmodules में यूआरएल डालें (ताकि आम जनता को एसएसएच-आधारित प्रमाणीकरण करने की आवश्यकता न हो)।

+0

धन्यवाद, सिंक बिल्कुल वैसा ही है जो हमें इस परिदृश्य में चाहिए! – Alexy

+0

गिट सबमिशन सिंक ने नौकरी की! धन्यवाद! –

+0

अनमोल जवाब :) – emjay

0

मुझे इसी तरह की समस्याएं मिलीं, और गुगलिंग के बाद, मैंने इस आलेख पर ठोकर खाई: Relative URL for Git submodule। मैंने पाया कि यह पालन करने के लिए एक अच्छा अभ्यास है क्योंकि .gitsubmodule फ़ाइल को मैन्युअल रूप से बदलने की कोई आवश्यकता नहीं है, इससे कोई फर्क नहीं पड़ता कि इसे किसने चेक आउट किया है। यह शायद आपके मामले पर भी लागू होता है।