Git एक सबमॉडल के लिए कमेटी के SHA1 को कहां संग्रहीत करता है?


141

मुझे पता है कि जब आप एक gm रिपॉजिटरी में एक सबमॉड्यूल जोड़ते हैं तो यह उस सबमॉडल की एक विशेष कमिट को उसके sha1 द्वारा संदर्भित ट्रैक करता है।

मैं खोजने की कोशिश कर रहा हूं कि यह sha1 मान कहाँ संग्रहीत है।

.gitmodulesऔर .git/configफ़ाइलों को केवल submodule के लिए पथ, लेकिन नहीं करने के SHA1 दिखा।

Git-submodule (1) संदर्भ केवल एक की बात करते हैंgitlink प्रवेश और gitmodules (5) संदर्भ या तो इस बारे में कुछ नहीं कहा।


जवाबों:


167

इसे सीधे Git के ऑब्जेक्ट डेटाबेस में संग्रहीत किया जाता है। उस निर्देशिका के लिए ट्री ऑब्जेक्ट, जहां सबमॉड्यूल रहता है, में सबमॉड्यूल के कमिट के लिए एक प्रविष्टि होगी (यह तथाकथित "गिटलिंक" है)।

करने की कोशिश करें git ls-tree master <path-to-directory-containing-submodule>(या git ls-tree masterयदि सबमॉड्यूल शीर्ष-स्तरीय निर्देशिका में रहता है)।


14
हां। मैं देखता हूं कि यह अब कहां है। और यह id से मेल खाता है git submodule status। धन्यवाद।
Abizern

7
मर्ज के दौरान वे कहां जमा होते हैं और सबमॉड्यूल परस्पर विरोधी है?
एडम डाइमिट्रुक

@AdamDymitruk, क्या आपको इसका जवाब मिल गया है?
किलोडे

1
क्यों नहीं एक नया सवाल पोस्ट, दोस्तों? :-)
इवान वुज़िका 13

3
क्या वर्किंग ट्री को अपडेट किए बिना किसी और चीज़ की ओर इशारा करने के लिए इस कमिट आईडी को बदलने का कोई तरीका है?
CMCDragonkai
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.