मैं 'git सबमॉड्यूल' का उपयोग करके किसी सबमॉडल के विशिष्ट संस्करण की जांच कैसे करूं?


जवाबों:


167

सबमॉड्यूल रिपॉजिटरी एक विशिष्ट स्थिति की ओर इशारा करते हुए अलग राज्य में रहती है। उस परिवर्तन को करने के लिए बस एक अलग टैग की जाँच करना या फिर माता-पिता के भंडार में बदलाव को शामिल करना शामिल है।

$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0

git-status माता-पिता के भंडार पर अब एक गंदे पेड़ की सूचना दी जाएगी:

# On branch dev [...]
#
#   modified:   submodule (new commits)

सबमॉड्यूल निर्देशिका जोड़ें और नए पॉइंटर को स्टोर करने के लिए प्रतिबद्ध करें।


14
जब मैं अभिभावक रेपो को एक उप-शाखा के विशिष्ट शाखा / संस्करण के साथ शुरू करता हूं, तो क्या भविष्य में अन्य उप-संस्करण के समान संस्करण की जांच कर सकते हैं? या, उन्हें फिर से मैन्युअल रूप से निर्दिष्ट करना होगा?
QZHua

@ क्वेज़ुआ: मैंने खुद इसके साथ प्रयोग किया और ऐसा लगता है कि माता-पिता के बंद होने पर सबमॉड्यूल की प्रतिबद्ध आईडी संरक्षित है।
साइकोनॉट

37

चरण 1: सबमॉड्यूल जोड़ें

   git submodule add git://some_repository.git some_repository

चरण 2: एक विशेष प्रतिबद्ध के लिए सबमॉड्यूल को ठीक करें

डिफ़ॉल्ट रूप से नया सबमॉड्यूल मास्टर ब्रांच के HEAD को ट्रैक कर रहा होगा, लेकिन आपके प्राथमिक रिपॉजिटरी को अपडेट करते समय इसे अपडेट नहीं किया जाएगा। किसी विशेष कमिट या अलग शाखा को ट्रैक करने के लिए सबमॉड्यूल को बदलने के लिए, डायरेक्टरी को सबमॉड्यूल फ़ोल्डर में बदलें और शाखाओं को उसी तरह स्विच करें जैसे आप एक सामान्य रिपॉजिटरी में करेंगे।

   git checkout -b some_branch origin/some_branch

अब सबमॉडल को मास्टर की HEAD के बजाय विकास शाखा पर तय किया गया है।

से टाई Git submodules एक विशेष कमिट या शाखा में - दो दोस्तों बहस


20
यह प्रयोग करने में आसान हैgit submodule add -b some_branch git://some_repository.git some_repository
Caumons

15
इस समय ऐसा नहीं लगता कि git submodule add -bकोई टैग या शाश ले सकता है। यह केवल एक शाखा ले सकता है।
CMCDragonkai

क्या इसके लिए Git इश्यू ट्रैकर में कोई समस्या है? क्या कोई कृपया URL पोस्ट करेगा ताकि हम उसे ट्रैक कर सकें? धन्यवाद।
20

बग की रिपोर्टिंग के लिए @ कोलन निर्देश git-scm.com/community पर हैं । लेकिन -bसहायक शाखाएं और टैग या कमिट शॉ नहीं एक विशेषता है जो बग नहीं है (वास्तव -bमें शॉर्टहैंड के लिए --branch)।
मेंहदी

1
आह। इन सभी वर्षों के बाद, उनके पास अभी भी एक सार्वजनिक मुद्दा ट्रैकर नहीं है।
कॉलन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.