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

Monorepo की संरचना और विन्यास

एक ही Git रिपॉज़िटरी में प्रोजेक्ट, पैकेज और साझा कोड व्यवस्थित करने के सर्वोत्तम तरीक़े सीखें।

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

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

संरचना क्यों महत्वपूर्ण है

स्वागत है! मोनोरेपो में कई प्रोजेक्ट एक ही स्थान पर साथ रहते हैं। चीज़ों को व्यवस्थित रखने के लिए एक स्पष्ट और सुविचारित संरचना बहुत महत्वपूर्ण होती है।

इससे डेवलपर अपनी ज़रूरत की चीज़ें जल्दी ढूँढ़ पाते हैं, कोड साझा करने को बढ़ावा मिलता है और कोडबेस के बढ़ने के साथ पूरे कोडबेस को प्रबंधित करना बहुत आसान हो जाता है।

मोनोरेपो का मूल स्तर

आपके मोनोरेपो के सबसे ऊपरी स्तर पर स्थित मूल डायरेक्टरी में आपको ऐसे फ़ाइलें मिलेंगी, जो पूरे रिपॉज़िटरी पर लागू होती हैं। इन्हें वैश्विक सेटिंग्स के रूप में समझें।

  • .git/: Git की आंतरिक ट्रैकिंग फ़ाइलें।
  • .gitignore: Git को बताती है कि किन फ़ाइलों को अनदेखा करना है।
  • README.md: आपके मोनोरेपो का मुख्य विवरण।
  • package.json: (यदि Node.js का उपयोग किया जा रहा हो) मोनोरेपो-स्तरीय स्क्रिप्ट या निर्भरताएँ।
  • tools/: वैश्विक उपयोगिता स्क्रिप्ट।

प्रोजेक्ट समूहित करना: `apps` और `packages`

चीज़ों को व्यवस्थित रखने के लिए, प्रोजेक्ट को आमतौर पर उनके प्रकार या उद्देश्य के आधार पर ऊपरी स्तर की डायरेक्टरी में समूहित किया जाता है। सबसे सामान्य डायरेक्टरी apps/ और packages/ (कभी-कभी libs/) होती हैं।

  • apps/: वेब ऐप, मोबाइल ऐप या API सेवाओं जैसे परिनियोजित किए जा सकने वाले ऐप्लिकेशन के लिए।
  • packages/ (या libs/): ऐसी पुनः उपयोग योग्य लाइब्रेरी, कंपोनेंट या साझा उपयोगिताओं के लिए, जिनका उपयोग कई ऐप कर सकते हैं।

यह स्पष्ट विभाजन आपको एक नज़र में समझने में सहायता करता है कि किसी प्रोजेक्ट की भूमिका क्या है।

`apps` फ़ोल्डर के अंदर

apps/ के अंदर की प्रत्येक फ़ोल्डर एक अलग, स्वतंत्र ऐप्लिकेशन को दर्शाती है। उनमें आमतौर पर अपना स्रोत कोड, कॉन्फ़िगरेशन और निर्भरताएँ होती हैं।

monorepo/
├── apps/
│   ├── web-app/         # Your frontend application
│   │   ├── src/
│   │   └── package.json
│   ├── api-service/     # Your backend API
│   │   ├── src/
│   │   └── Dockerfile
│   └── mobile-app/      # Your mobile application
│       ├── src/
│       └── ...
└── ...

यह संरचना प्रत्येक ऐप्लिकेशन को बड़े मोनोरेपो का हिस्सा रहते हुए भी अलग रखती है।

`packages` (या `libs`) के अंदर

packages/ (या libs/) डायरेक्टरी में आपका पूरा पुनः उपयोग योग्य कोड रखा जाता है। ये अक्सर छोटी, केंद्रित लाइब्रेरी या UI कंपोनेंट होते हैं, जिन्हें कई ऐप्लिकेशन में साझा किया जा सकता है।

monorepo/
├── packages/
│   ├── ui-components/   # Reusable UI library
│   │   ├── src/
│   │   └── package.json
│   ├── shared-utils/    # Common utility functions
│   │   └── src/
│   └── auth-lib/        # Authentication logic
│       └── src/
└── ...

इससे आपके प्रोजेक्ट में कोड के पुनः उपयोग और एकरूपता को बढ़ावा मिलता है।

केंद्रीकृत कॉन्फ़िगरेशन

एकरूपता सुनिश्चित करने के लिए, कई मोनोरेपो लिंटर (कोड शैली के लिए), फ़ॉर्मैटर (कोड लेआउट के लिए) और बिल्ड सिस्टम जैसे टूल की कॉन्फ़िगरेशन फ़ाइलों को केंद्रीकृत रखते हैं।

monorepo/
├── .eslintrc.js       # Linter configuration
├── prettier.config.js # Code formatter configuration
├── jest.config.js     # Test runner configuration
├── tsconfig.base.json # Base TypeScript config
└── ...

ये फ़ाइलें अक्सर मूल स्तर पर या समर्पित config/ फ़ोल्डर में रहती हैं और सभी प्रोजेक्ट पर एक जैसे नियम लागू करती हैं।

अच्छी संरचना के लाभ

अच्छी तरह परिभाषित मोनोरेपो संरचना कई महत्वपूर्ण लाभ देती है:

  • आसानी से खोज: टीम के नए सदस्य जल्दी समझ सकते हैं कि हर चीज़ कहाँ है।
  • एकरूपता: यह बिना अतिरिक्त प्रयास के सभी प्रोजेक्ट के लेआउट और कोडिंग मानकों में समानता लागू करती है।
  • रखरखाव में सरलता: रिफ़ैक्टरिंग और निर्भरताओं का प्रबंधन बहुत आसान हो जाता है।
  • टूलिंग: मोनोरेपो की समझ रखने वाले बिल्ड और विकास टूल का सेटअप सरल हो जाता है।

यह ऐसा निवेश है जिसका लाभ लंबे समय तक मिलता है!

एक सरल प्रोग्राम का उदाहरण

मोनोरेपो की संरचना फ़ाइलों और फ़ोल्डरों को व्यवस्थित करने से संबंधित है, जबकि यहाँ CoddyKit में चलने योग्य कोड कैसा दिखाई देता है, यह दिखाने के लिए एक बुनियादी Java प्रोग्राम दिया गया है। इससे आपको संपादक के साथ सहज होने में सहायता मिलेगी!

public class MonorepoConcept {
  public static void main(String[] args) {
    System.out.println("A well-structured monorepo is great!");
  }
}

नामकरण परंपराएँ

मोनोरेपो में स्पष्ट और एकरूप नामकरण बहुत महत्वपूर्ण है। इससे भ्रम से बचने और कोडबेस को अधिक पठनीय बनाने में सहायता मिलती है।

  • केबाब-केस: प्रोजेक्ट और फ़ोल्डर के नामों के लिए kebab-case का उपयोग करें (जैसे, web-app, shared-utils)।
  • विशिष्ट नाम: utils जैसे सामान्य नामों से बचें; अधिक विशिष्ट नाम रखें (जैसे, date-utils, api-client)।
  • उपसर्ग: बड़े संगठनों के लिए साझा पैकेज में उपसर्ग जोड़ने पर विचार करें (जैसे, @myorg/ui-components)।

मोनोरेपो संगठन की जाँच

मान लीजिए कि एक मोनोरेपो में एक वेब ऐप्लिकेशन, एक API सेवा और एक साझा UI कंपोनेंट लाइब्रेरी है। इन प्रोजेक्ट को व्यवस्थित करने के सामान्य और प्रभावी तरीके क्या हैं?

पुनरावलोकन: संरचित मोनोरेपो

बहुत अच्छा काम! आज हमने मोनोरेपो को व्यवस्थित करने के महत्व के बारे में सीखा। हमने ऐप्लिकेशन को apps/ में, साझा लाइब्रेरी को packages/ (या libs/) में व्यवस्थित करने और वैश्विक कॉन्फ़िगरेशन को केंद्रीकृत रखने के बारे में जाना।

एक अच्छी तरह परिभाषित लेआउट आपके मोनोरेपो में नेविगेट करना आसान बनाता है, एकरूपता बढ़ाता है और रखरखाव को सरल करता है। अब हम उन विशिष्ट टूल के बारे में जानेंगे, जो इन जटिल संरचनाओं को प्रबंधित करने में सहायता करते हैं!

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

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

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

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

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

क्या “Monorepo की संरचना और विन्यास” पाठ निःशुल्क है?

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

“Monorepo की संरचना और विन्यास” में मैं क्या सीखूँगा?

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

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

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

“Monorepo की संरचना और विन्यास” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Monorepo क्या है
  2. Monorepo की संरचना और विन्यास
  3. Monorepo उपकरणों का परिचय
  4. Monorepo बनाम Polyrepo: तरीका चुनना
← Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पर वापस जाएँ