मार्च 2013 को अपडेट करें
Git 1.8.2 ने शाखाओं को ट्रैक करने की संभावना को जोड़ा।
" git submodule" मैंने दूरस्थ शाखा की नोक के साथ एकीकृत करने के लिए एक नया मोड सीखना शुरू कर दिया है (जैसा कि सुपरप्रोजेक्ट के गीटलिंक में दर्ज की गई प्रतिबद्धता के साथ एकीकृत करने का विरोध किया गया है)।
# add submodule to track master branch
git submodule add -b master [URL to Git repo];
# update your submodule
git submodule update --remote
यदि आपके पास पहले से मौजूद एक सबमॉड्यूल था तो आप अब एक शाखा को ट्रैक करना चाहते हैं, " एक मौजूदा सबमॉड्यूल ट्रैक को एक शाखा कैसे बनाएं " देखें।
सबमोडुल्स पर सामान्य जानकारी के लिए सबमोड्यूल्स पर वोगेला के ट्यूटोरियल को भी देखें ।
ध्यान दें:
git submodule add -b . [URL to Git repo];
^^^
git submoduleमैन पेज देखें :
एक विशेष मूल्य का .उपयोग यह इंगित करने के लिए किया जाता है कि सबमॉड्यूल में शाखा का नाम वर्तमान रिपॉजिटरी में वर्तमान शाखा के समान नाम होना चाहिए ।
देखें प्रतिबद्ध b928922727d6691a3bdc28160f93f25712c565f6 :
submodule add: यदि --branchदिया गया है, तो उसे रिकॉर्ड करें.gitmodules
यह आपको एक नया सबमॉड्यूल जोड़ने पर आसानी से एक submodule.<name>.branchविकल्प रिकॉर्ड करने की अनुमति देता है .gitmodules। इस पैच के साथ,
$ git submodule add -b <branch> <repository> [<path>]
$ git config -f .gitmodules submodule.<path>.branch <branch>
को कम करता है
$ git submodule add -b <branch> <repository> [<path>]
इसका मतलब है कि भविष्य के लिए कहता है
$ git submodule update --remote ...
आपको उसी शाखा से अपडेट मिलेगा, जिसका उपयोग आपने सबमॉड्यूल को इनिशियलाइज़ करने के लिए किया था, जो आमतौर पर आप चाहते हैं।
साइन-ऑफ-बाय: डब्ल्यू। ट्रेवर किंग
मूल उत्तर (फरवरी 2012):
एक सबमॉडल एक एकल प्रतिबद्ध है जिसे माता-पिता रेपो द्वारा संदर्भित किया जाता है।
चूँकि यह अपने आप में एक Git रेपो है, "सब कमिट्स का इतिहास" git logउस सबमॉडल के भीतर उपलब्ध है।
इसलिए माता-पिता के लिए स्वचालित रूप से एक सबमॉड्यूल की दी गई शाखा की नवीनतम प्रतिबद्धता को ट्रैक करने के लिए, इसकी आवश्यकता होगी:
- submodule में cd
- यह सुनिश्चित करने के लिए कि यह सही शाखा पर नवीनतम कमिट है, git लाने / खींचने के लिए
- जनक रेपो में सीडी वापस
- जोड़ें और प्रतिबद्ध करने के लिए सबमॉड्यूल की नई कमेटी को रिकॉर्ड करें।
gitslave (कि आप पहले से ही देखा) प्रतिबद्ध संचालन के लिए , सबसे उपयुक्त प्रतीत होता है ।
सही सबमॉड्यूल शाखा पर जांच करने, परिवर्तन करने, प्रतिबद्ध करने और फिर सुपरप्रोजेक्ट में जाने और कमिट करने के लिए (या कम से कम नए स्थान को रिकॉर्ड करने की आवश्यकता के कारण) सबमॉड्यूल में बदलाव करने के लिए यह थोड़ा कष्टप्रद है। submodule)।
अन्य विकल्प यहां विस्तृत हैं ।