2011-01-05 23 views
15

मैं एक गिट रिपोजिटरी (ए) में एक प्रोजेक्ट पर काम कर रहा हूं जिसमें एक और गिट रिपोजिटरी (बी) शामिल है, जिसमें बदले में तीसरा गिट रिपोजिटरी (सी) शामिल है। एक में, मैं के माध्यम से बी कहा:गिट सबमिशन जोड़ना जिसमें एक और सबमिशन शामिल है?

git submodule add https://github.com/blt04/sfDoctrine2Plugin.git plugins/sfDoctrine2Plugin 

Click here, और जैसा कि आप देख सकते हैं, जहां बी संदर्भ सी: https://github.com/doctrine/doctrine2

मेरी Git submodule जोड़ने करने के बाद, मेरी plugins/sfDoctrine2Plugin/lib/vendor/doctrine फ़ोल्डर (सी को शामिल करना चाहिए) खाली है। मैंने को this StackOverflow answer के अनुसार करने का प्रयास किया, लेकिन यह अभी भी उस पथ पर फ़ाइलों को आयात नहीं करता है। मुझे नुकसान हुआ है कि यहां क्या करना है।

+1

आप "गिट क्लोन - रिकर्सिव " –

उत्तर

38

आपको git submodule update --init --recursive करने की आवश्यकता है। यहां समस्या यह है कि सबमिशन सी पहले स्थान पर कभी शुरू नहीं किया जा रहा है।

+1

वाह का उपयोग करके भंडार को फिर से क्लोन कर सकते हैं, जिसने चाल बनाई थी। मुझे नहीं पता कि क्यों गिट पहले ऐसा करने के लिए पर्याप्त स्मार्ट नहीं है। ओह ठीक है, धन्यवाद! –

+1

गिट मानता है कि यदि आपने सबमिशन में प्रवेश नहीं किया है, तो ऐसा इसलिए है क्योंकि आप इसे नहीं चाहते हैं। यह नवागंतुकों को भ्रमित कर रहा है, लेकिन यह उन मामलों में बेहद उपयोगी हो सकता है जहां सबमिशन वैकल्पिक है। –

+2

यह हमेशा मुझे हैरान करता है कि आप बस ऐसा नहीं कर सकते: गिट सबमिशन एड - रिकर्सिव । –

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