Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह · पाठ

Submodules को अद्यतन और समकालिक करना

Submodules को नवीनतम संस्करणों में अद्यतन करने और उनके URL को समकालिक करने की प्रक्रिया में दक्षता प्राप्त करें।

पाठ 3, कुल 4 में से11 चरण

Submodules को अद्यतन और समकालिक करना, CoddyKit पर Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

सबमॉड्यूल को अद्यतन रखना

Git सबमॉड्यूल के साथ काम करते समय मुख्य प्रोजेक्ट (सुपरप्रोजेक्ट) आमतौर पर सबमॉड्यूल के किसी विशिष्ट कमिट की ओर संकेत करता है, आवश्यक नहीं कि उसके नवीनतम संस्करण की ओर।

यह पाठ आपको सबमॉड्यूल को नए संस्करणों में अपडेट करना और उनकी कॉन्फ़िगरेशन सही रखना सिखाता है।

मूल `git submodule update`

सबमॉड्यूल को अपडेट करने की सबसे सामान्य कमांड git submodule update है। यह कमांड दो मुख्य कार्य करती है:

  • यह प्रत्येक सबमॉड्यूल के लिए सुपरप्रोजेक्ट द्वारा अपेक्षित सटीक कमिट को चेक आउट करती है।
  • यह सुनिश्चित करती है कि सबमॉड्यूल की कार्यशील निर्देशिका इस दर्ज कमिट से मेल खाती हो।

यह सबमॉड्यूल की दूरस्थ रिपॉज़िटरी से नए कमिट प्राप्त नहीं करती।

git submodule update

दर्ज कमिट को अपडेट करना

मान लीजिए आपके मुख्य प्रोजेक्ट की .gitmodules फ़ाइल में my-lib नामक सबमॉड्यूल निर्दिष्ट है। जब कोई अन्य व्यक्ति अपनी रिपॉज़िटरी में my-lib को अपडेट करके फिर my-lib के लिए सुपरप्रोजेक्ट का संकेतक अपडेट करता है, तो आपको भी अपडेट करना होगा।

सुपरप्रोजेक्ट में बदलाव खींचने के बाद सबमॉड्यूल की फ़ाइलों को नए दर्ज कमिट से मिलाने के लिए यह चलाएँ:

git pull origin main
git submodule update

`--remote` के साथ नवीनतम संस्करण में अपडेट करना

यदि आप चाहते हैं कि आपका सबमॉड्यूल सुपरप्रोजेक्ट द्वारा दर्ज कमिट के बजाय अपनी दूरस्थ ट्रैकिंग शाखा के बिल्कुल नवीनतम कमिट की ओर संकेत करे, तो क्या होगा?

यहीं --remote विकल्प उपयोगी होता है। यह सबमॉड्यूल की दूरस्थ रिपॉज़िटरी से डेटा प्राप्त करता है और उसके HEAD को कॉन्फ़िगर की गई ट्रैकिंग शाखा के अंतिम कमिट पर अपडेट करता है, जैसे main या master।

व्यवहार में `--remote`

अपने अपस्ट्रीम बदलावों के साथ सबमॉड्यूल को जल्दी अद्यतन करने के लिए --remote बहुत प्रभावी है। यह हर सबमॉड्यूल के अंदर git pull चलाने जैसा है।

याद रखें, ऐसा करने के बाद आपके सुपरप्रोजेक्ट का सबमॉड्यूल संकेतक 'असंगत' हो जाएगा। आपको सबमॉड्यूल का नया SHA-1 हैश सुपरप्रोजेक्ट में कमिट करना होगा।

git submodule update --remote
git add my-lib
git commit -m "Update my-lib submodule to latest"

`git submodule sync` क्या है?

कभी-कभी सबमॉड्यूल की दूरस्थ रिपॉज़िटरी का URL बदल सकता है। ऐसा होने पर उस सबमॉड्यूल के लिए आपकी स्थानीय Git कॉन्फ़िगरेशन (.git/config) में संग्रहीत URL को अपडेट करना आवश्यक होता है।

git submodule sync कमांड इन URL को समकालिक करने के लिए बनाई गई है। यह .gitmodules फ़ाइल से URL पढ़ती है और प्रत्येक सबमॉड्यूल की स्थानीय कॉन्फ़िगरेशन अपडेट करती है।

`sync` का उपयोग कब करें

आप आमतौर पर इन स्थितियों में git submodule sync का उपयोग करेंगे:

  • जब कोई व्यक्ति .gitmodules फ़ाइल में सबमॉड्यूल का URL बदलता है और आप वे बदलाव खींचते हैं।
  • जब आप पहली बार सबमॉड्यूल वाली रिपॉज़िटरी का क्लोन बनाते हैं, हालाँकि git submodule update --init अक्सर यह कार्य अप्रत्यक्ष रूप से कर देता है।
  • यदि आपने .gitmodules में सबमॉड्यूल का URL मैन्युअल रूप से बदला हो और अपनी स्थानीय कॉन्फ़िगरेशन में भी वही बदलाव चाहते हों।

व्यवहार में `sync`

मान लीजिए आपकी my-lib सबमॉड्यूल का URL .gitmodules फ़ाइल में old-url.git से बदलकर new-url.git कर दिया गया है। उस बदलाव को अपने सुपरप्रोजेक्ट में खींचने के बाद भी my-lib की स्थानीय कॉन्फ़िगरेशन पुराने URL की ओर संकेत कर रही है।

इसे ठीक करने के लिए यह कमांड चलाएँ:

git submodule sync my-lib
# Or for all submodules:
git submodule sync

सबमॉड्यूल अपडेट करने की व्यापक कार्यप्रणाली

सबमॉड्यूल को अपडेट करते समय अधिकांश स्थितियों को सँभालने वाली सुदृढ़ कार्यप्रणाली के लिए कमांड को मिलाकर चलाने पर विचार करें:

  • git pull origin main: सुपरप्रोजेक्ट के नवीनतम बदलाव प्राप्त करें।
  • git submodule sync: यदि सबमॉड्यूल के URL बदले हों, तो उन्हें अपडेट करें।
  • git submodule update --init --recursive --remote: नए सबमॉड्यूल आरंभ करें, सभी मौजूदा सबमॉड्यूल को उनके नवीनतम दूरस्थ संस्करण में अपडेट करें और नेस्टेड सबमॉड्यूल सँभालें।

इससे यह सुनिश्चित होता है कि आपका प्रोजेक्ट पूरी तरह अद्यतन है।

git pull origin main
git submodule sync
git submodule update --init --recursive --remote

सबमॉड्यूल अपडेट चुनौती

आपने अपने सुपरप्रोजेक्ट का नया संस्करण खींच लिया है। आपके सहकर्मी बताते हैं कि उन्होंने अपनी रिपॉज़िटरी में shared-utils नामक सबमॉड्यूल को अपडेट किया है, लेकिन उन्होंने अभी तक सुपरप्रोजेक्ट में नया सबमॉड्यूल संकेतक कमिट नहीं किया है।

सुपरप्रोजेक्ट द्वारा उसे दर्ज किए जाने की प्रतीक्षा किए बिना, दूरस्थ रिपॉज़िटरी से shared-utils सबमॉड्यूल को उसकी नवीनतम स्थिति में लाने के लिए आपको कौन-सी कमांड का उपयोग करना चाहिए?

पुनरावलोकन: सबमॉड्यूल को अद्यतन रखना

आपने सबमॉड्यूल अपडेट प्रबंधित करना सीख लिया है:

  • git submodule update: सुपरप्रोजेक्ट में दर्ज कमिट को चेक आउट करता है।
  • git submodule update --remote: सबमॉड्यूल के रिमोट से नवीनतम बदलाव प्राप्त करता है और उसकी कार्यशील डायरेक्टरी अपडेट करता है।
  • git submodule sync: .gitmodules से सबमॉड्यूल URL को आपके स्थानीय Git कॉन्फ़िगरेशन के साथ समकालित करता है।

सबमॉड्यूल वाले प्रोजेक्ट को सही स्थिति में और नवीनतम बनाए रखने के लिए ये कमांड आवश्यक हैं!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “Submodules को अद्यतन और समकालिक करना” पाठ निःशुल्क है?

हाँ—“Submodules को अद्यतन और समकालिक करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Submodules को अद्यतन और समकालिक करना” में मैं क्या सीखूँगा?

Submodules को नवीनतम संस्करणों में अद्यतन करने और उनके URL को समकालिक करने की प्रक्रिया में दक्षता प्राप्त करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Submodules को अद्यतन और समकालिक करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Git Submodules का परिचय
  2. Submodules जोड़ना और क्लोन करना
  3. Submodules को अद्यतन और समकालिक करना
  4. सबमॉड्यूल हटाना और डी-इनिशियलाइज़ करना
← Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पर वापस जाएँ