- आपके पास एक परियोजना है - इसे MyWebApp कहें, जिसमें पहले से ही एक गिथब रेपो है
- आप अपने प्रोजेक्ट में jquery रिपॉजिटरी का उपयोग करना चाहते हैं
- आप अपने प्रोजेक्ट में jquery रेपो को एक सबमॉड्यूल के रूप में खींचना चाहते हैं ।
सबमॉड्यूल्स वास्तव में, संदर्भ और उपयोग के लिए वास्तव में आसान हैं। मान लें कि आपके पास पहले से ही MyWebApp एक रेपो के रूप में सेट है, टर्मिनल इश्यू से ये कमांड्स:
cd MyWebApp
git submodule add git://github.com/jquery/jquery.git externals/jquery
यह externals/jquery
* नाम की एक निर्देशिका बनाएगा और इसे गीथूब जेकरी रिपॉजिटरी से लिंक करेगा। अब हमें बस सबमॉड्यूल को इनिट करने और कोड को क्लोन करने की आवश्यकता है:
git submodule update --init --recursive
अब आपके पास सबमॉडल में क्लोन किए गए सभी नवीनतम कोड होने चाहिए। यदि jquery रेपो बदल जाता है और आप नवीनतम कोड को नीचे खींचना चाहते हैं, तो बस submodule update
फिर से कमांड जारी करें। कृपया ध्यान दें: मेरे पास आमतौर पर मेरी परियोजनाओं में कई बाहरी रिपॉजिटरी हैं, इसलिए मैं हमेशा "एक्सटर्नल" निर्देशिका के तहत रिपोज को समूह में रखता हूं।
ऑनलाइन प्रो गिट बुक में सबमॉडल्स (और सामान्य रूप से गिट) पर कुछ अच्छी जानकारी है जो एक आसान-से-पढ़े गए फैशन में प्रस्तुत की गई है। वैकल्पिक रूप से, git help submodule
अच्छी जानकारी भी देंगे। या गिट विकी पर Git Submodule ट्यूटोरियल देखें ।
मैंने इस ब्लॉग प्रविष्टि पर ध्यान दिया, जो सबमॉड्यूल्स के बारे में बात करती है और उनकी तुलना सबवर्सन के svn: externals मैकेनिज्म: http://speirs.org/blog/2009/5/11/understanding-git-submodules.html से करती है।
* एक सर्वोत्तम अभ्यास के रूप में, आपको अपने सबमॉडल्स को हमेशा अपनी निर्देशिका में रखना चाहिए, जैसे कि एक्सटर्नल। यदि आप नहीं करते हैं, तो आपकी रूट परियोजना निर्देशिका बहुत तेजी से अव्यवस्थित हो सकती है।