2012-04-25 27 views
23

की उत्पत्ति की उत्पत्ति मैंने एक परियोजना submodule बनाई और इसे गीथब पर रख दिया।गिट: क्लोन सबमिशन

मैं एक अन्य परियोजना, supermodule बनाया, और उसके बाद ऐसा किया:

cd supermodule 
git init 
mkdir lib 
git clone git://github.com/tandu/submodule lib/submodule 
git submodule add ./lib/submodule lib/submodule 

यह ठीक काम किया, लेकिन वेबसाइट पर, यह submodule के लिए लिंक जब फ़ाइलें (देखने वास्तव में नहीं मिल सकता है यह बस "हमेशा कमिट डेटा लोड हो रहा है" कहता है)। सबमिशन फ़ोल्डर में सही origin है।

जाहिर है, कि मैं क्या करना चाहिए था

... 
mkdir lib 
git submodule add git://github.com/tandu/submodule lib 

था ... लेकिन अब यह है कि के लिए बहुत देर हो चुकी है। मैं इस परियोजना में सबमिशन कैसे सही ढंग से origin पर इंगित कर सकता हूं?

उत्तर

41

यह स्पष्ट रूप से आपके द्वारा उपयोग किए जा रहे गिट के संस्करण पर निर्भर है।

  1. वर्तमान हैं, तो .gitmodules फ़ाइल के [submodule "<dirname>"] खंड में url प्रविष्टि बदल जाते हैं।
  2. यदि मौजूद है, तो url[submodule "<dirname>"].git/config फ़ाइल में सेक्शन में बदलें।
  3. सबमिशन की कॉन्फ़िगरेशन में url बदलें। config फ़ाइल का स्थान संस्करण निर्भर है। पुराने संस्करणों में <dirname>/.git/config में .git/modules/<dirname>/config में नए थे। Git के वर्तमान संस्करण (2.1.0) के साथ
cd <dirname> 
git config remote.origin.url <new_url> 
+5

था कर 'Git submodule सिंक --recursive', पर्याप्त मुझे' मूल submodule को अद्यतन करने के लिए के लिए: हालांकि, आप हमेशा आदेश नीचे का उपयोग कर सकते रिमोट – desseim

संबंधित मुद्दे