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

Husky से टीम के साथ हुक साझा करना

स्थानीय Git हुक संस्करण नियंत्रण से बाहर रहते हैं। जानें कि Husky और ऐसे अन्य टूल हर योगदानकर्ता तक हुक कैसे पहुँचाते हैं, ताकि गुणवत्ता जाँच लगातार चलती रहे।

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

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

वितरण की समस्या

Git हुक .git/hooks में रहते हैं, जो रिपॉज़िटरी का हिस्सा नहीं है। इसलिए आपके द्वारा लिखा गया प्री-कमिट हुक केवल आपकी मशीन पर चलता है।

पूरी टीम में मानक लागू करने के लिए हुक साझा करने योग्य और संस्करण-नियंत्रित होने चाहिए।

core.hooksPath सेटिंग

Git उन हुक को एक ऐसी कस्टम निर्देशिका से पढ़ सकता है, जिसे आप रिपॉज़िटरी में कमिट करते हैं; इसके लिए core.hooksPath का उपयोग होता है। अधिकांश उपकरण इसी आधार पर बनाए जाते हैं।

git config core.hooksPath .githooks

Husky का परिचय

Husky JavaScript प्रोजेक्ट के लिए एक लोकप्रिय उपकरण है, जो कमिट की गई फ़ाइलों के माध्यम से हुक प्रबंधित करता है और इंस्टॉल करते समय core.hooksPath को अपने-आप जोड़ देता है।

npm install --save-dev husky

Husky को आरंभ करना

आरंभ करने वाली कमांड चलाएँ। यह एक .husky/ निर्देशिका और एक नमूना हुक बनाती है तथा तैयारी स्क्रिप्ट सेट करती है।

npx husky init

तैयारी स्क्रिप्ट

Husky npm के prepare जीवनचक्र पर निर्भर करता है, ताकि टीम का कोई सदस्य npm install चलाए तो हुक अपने-आप सक्षम हो जाएँ।

{
  "scripts": {
    "prepare": "husky"
  }
}

प्री-कमिट हुक लिखना

.husky/pre-commit में कमांड जोड़ें। चूँकि यह फ़ाइल कमिट की जाती है, इसलिए हर योगदानकर्ता को समान जाँच मिलती है।

npm test
npm run lint

केवल स्टेज की गई फ़ाइलों पर चलाना

हर कमिट पर पूरे प्रोजेक्ट की लिंट-जाँच करना धीमा होता है। lint-staged उपकरणों को केवल उन फ़ाइलों पर चलाता है जिन्हें आपने वास्तव में स्टेज किया है।

npx lint-staged

lint-staged को कॉन्फ़िगर करना

फ़ाइल पैटर्न को कमांड से मैप करें। नीचे दिया गया कॉन्फ़िगरेशन फ़ॉर्मैटर और लिंटर को केवल स्टेज की गई JS फ़ाइलों पर चलाता है।

{
  "lint-staged": {
    "*.js": ["prettier --write", "eslint --fix"]
  }
}

कमिट संदेश लागू करना

commit-msg हुक संदेश के प्रारूप की जाँच कर सकता है। commitlint के साथ मिलकर यह पूरी टीम में पारंपरिक कमिट प्रारूप लागू करता है।

npx --no -- commitlint --edit $1

अन्य पारिस्थितिक तंत्रों के उपकरण

Husky Node-केंद्रित है। भाषा-निरपेक्ष विकल्पों में pre-commit (Python), lefthook (Go, बहुत तेज़) और overcommit (Ruby) शामिल हैं। ये सभी वितरण की एक ही समस्या हल करते हैं।

हुक सुरक्षा सीमा नहीं हैं

याद रखें: क्लाइंट हुक को --no-verify से दरकिनार किया जा सकता है। वे ईमानदार गलतियों को पकड़ते हैं, लेकिन वास्तविक प्रवर्तन CI और सर्वर-पक्ष के हुक में भी होना चाहिए।

git commit --no-verify

त्वरित जाँच

साझा हुक के बारे में अपनी जानकारी जाँचें।

पुनरावलोकन

अब आप पूरी टीम में हुक साझा कर सकते हैं:

  • core.hooksPath Git को कमिट की गई हुक निर्देशिका का पथ देता है
  • Husky prepare स्क्रिप्ट के माध्यम से सेटअप स्वचालित करता है
  • lint-staged जाँच केवल स्टेज की गई फ़ाइलों पर चलाता है
  • commitlint संदेश का प्रारूप लागू करता है
  • हुक सर्वर-पक्ष और CI के प्रवर्तन के पूरक हैं, उनका विकल्प कभी नहीं

यह आपके क्लाइंट-पक्ष और सर्वर-पक्ष हुक वाले पाठों पर सीधे आधारित है।

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

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

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

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

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

क्या “Husky से टीम के साथ हुक साझा करना” पाठ निःशुल्क है?

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

“Husky से टीम के साथ हुक साझा करना” में मैं क्या सीखूँगा?

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

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

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

“Husky से टीम के साथ हुक साझा करना” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. क्लाइंट-पक्षीय Git हुक
  2. सर्वर-पक्षीय Git हुक
  3. Git कॉन्फ़िगरेशन और उपनाम
  4. Husky से टीम के साथ हुक साझा करना
← Git उन्नत: मोनोरेपो, सबमॉड्यूल और कार्यप्रवाह पर वापस जाएँ