प्री-कमिट और पोस्ट-मर्ज हुक्स
लिंटिंग के लिए प्री-कमिट हुक्स और सूचनाओं के लिए पोस्ट-मर्ज हुक्स के व्यावहारिक उदाहरण लागू कीजिए।
प्री-कमिट और पोस्ट-मर्ज हुक्स, CoddyKit पर Git और GitHub का पेशेवर कार्यप्रवाह का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Git और GitHub का पेशेवर कार्यप्रवाह सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Git और GitHub का पेशेवर कार्यप्रवाह पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
व्यावहारिक Git हुक का परिचय
पिछले पाठ में हमने Git हुक और उनके विभिन्न प्रकारों के बारे में सीखा। अब आइए इसे व्यवहार में लागू करें!
हम दो शक्तिशाली हुक लागू करना सीखेंगे: pre-commit और post-merge। इनसे आप कमिट से पहले जाँच और मर्ज के बाद की कार्रवाइयाँ स्वचालित कर सकते हैं।
Pre-commit: आपकी गुणवत्ता-जाँच
pre-commit हुक कमिट कार्रवाई से पहले चलता है, लेकिन आपके बदलावों को स्टेज करने के लिए git add का उपयोग करने के बाद।
- यह कोड की गुणवत्ता और शैली लागू करने के लिए उपयुक्त है।
- आप इसका उपयोग लिंटर, शैली-जाँचकर्ता या बुनियादी इकाई परीक्षण चलाने के लिए कर सकते हैं।
- यदि स्क्रिप्ट शून्येतर स्थिति के साथ समाप्त होती है, तो कमिट अपने-आप रद्द हो जाता है।
इससे सुनिश्चित होता है कि आपकी रिपॉज़िटरी में केवल उच्च-गुणवत्ता वाला, नियमों के अनुरूप कोड ही पहुँचता है।
Pre-commit हुक सेट करना
pre-commit हुक बनाने के लिए, आपको अपने प्रोजेक्ट की .git/hooks/ डायरेक्टरी में pre-commit नाम वाली एक निष्पादन योग्य फ़ाइल बनानी होगी।
Git .sample एक्सटेंशन वाले उदाहरण हुक उपलब्ध कराता है। आप वह एक्सटेंशन हटाकर अपनी कस्टम स्क्रिप्ट जोड़ेंगे।
याद रखें कि फ़ाइल को इस कमांड से निष्पादन योग्य बनाएँ: chmod +x .git/hooks/pre-commit
उदाहरण: 'TODO' वाले कमिट रोकना
आइए एक सरल pre-commit हुक बनाएँ, जो उन फ़ाइलों को कमिट करने से रोके जिनमें अभी भी "TODO" शब्द मौजूद है। यह सुनिश्चित करने का एक सामान्य तरीका है कि अधूरे कार्य आपके कोडबेस में न चले जाएँ।
स्क्रिप्ट सभी स्टेज की गई फ़ाइलों में इस कीवर्ड की जाँच करेगी। यदि यह मिल गया, तो कमिट रोक दिया जाएगा।
Pre-commit हुक: कोई TODO नहीं!
आपकी .git/hooks/pre-commit फ़ाइल के लिए यह एक सरल शेल स्क्रिप्ट है। यह स्टेज की गई .txt फ़ाइलों में "TODO" शब्द की जाँच करती है।
चरण:
.git/hooks/pre-commitबनाएँ- यह कोड चिपकाएँ
chmod +x .git/hooks/pre-commitचलाएँ
#!/bin/sh
# Check staged .txt files for "TODO"
for file in $(git diff --cached --name-only --diff-filter=ACM | grep '\.txt$'); do
if grep -q "TODO" "$file"; then
echo "ERROR: Found 'TODO' in staged file: $file"
echo "Please remove TODOs before committing."
exit 1
fi
done
exit 0अपने Pre-commit हुक का परीक्षण करना
इस हुक का परीक्षण करने के लिए पहले एक फ़ाइल (जैसे, test.txt) बनाएँ और उसमें "TODO: Finish this" जोड़ें। फिर उसे कमिट करने का प्रयास करें:
git add test.txtgit commit -m "Add test file"
कमिट रद्द हो जाना चाहिए और आपको अपने हुक का त्रुटि संदेश दिखाई देगा। test.txt से "TODO" हटाएँ, और कमिट सफल हो जाएगा!
Post-merge: मर्ज के बाद कार्य स्वचालित करना
post-merge हुक git merge कमांड के सफलतापूर्वक पूरा होने के बाद अपने-आप चलता है।
- यह उन एकीकरण कार्यों के लिए उपयोगी है जिन्हें कोड के संयोजित होने के बाद किया जाना चाहिए।
- उदाहरणों में टीम सदस्यों को सूचित करना, प्रोजेक्ट की निर्भरताएँ अपडेट करना (जैसे,
npm install) या बिल्ड स्क्रिप्ट चलाना शामिल हैं। - pre-commit के विपरीत, यह हुक मर्ज के परिणाम को प्रभावित नहीं करता।
मर्ज के बाद की प्रक्रियाओं को स्वचालित करने का यह एक शानदार तरीका है।
Post-merge हुक सेट करना
pre-commit की तरह, आप अपनी .git/hooks/ डायरेक्टरी में post-merge नाम वाली फ़ाइल बनाएँगे।
फिर से सुनिश्चित करें कि यह एक निष्पादन योग्य फ़ाइल हो:
chmod +x .git/hooks/post-merge
इसके बाद यह स्क्रिप्ट आपकी रिपॉज़िटरी में हर बार मर्ज पूरा होने पर चलेगी।
उदाहरण: मर्ज पूरा होने की सूचना
आइए एक post-merge हुक बनाएँ, जो कंसोल पर एक संदेश दिखाकर यह पुष्टि करे कि अभी-अभी मर्ज हुआ है। वास्तविक परिस्थिति में, यह CI/CD पाइपलाइन शुरू कर सकता है या किसी चैट एप्लिकेशन को सूचना भेज सकता है।
Post-merge हुक: सूचना
आपकी .git/hooks/post-merge फ़ाइल के लिए यह एक सरल शेल स्क्रिप्ट है। यह पुष्टि संदेश दिखाती है।
चरण:
.git/hooks/post-mergeबनाएँ- यह कोड चिपकाएँ
chmod +x .git/hooks/post-mergeचलाएँ
#!/bin/sh
# This hook runs after a merge operation.
echo "--- Post-merge hook triggered ---"
echo "A merge has just completed in your repository."
echo "You might want to run 'npm install' or 'bundle install' now."
echo "---------------------------------"
exit 0हुक जाँच: Pre-commit बनाम Post-merge
निम्नलिखित में से कौन-सा कार्य सामान्यतः pre-commit हुक द्वारा किया जाएगा?
पुनरावृत्ति: हुक का उपयोग
बहुत अच्छा! इस पाठ में आपने व्यावहारिक Git हुक लागू करना सीखा है।
- Pre-commit हुक गुणवत्ता-द्वार की तरह काम करते हैं और कमिट से *पहले* लिंटिंग या परीक्षण जैसी जाँच चलाते हैं।
- Post-merge हुक मर्ज के *बाद* सूचनाएँ भेजने या निर्भरताएँ अपडेट करने जैसी कार्रवाइयाँ स्वचालित करते हैं।
ये हुक आपकी Git रिपॉज़िटरी में मानक लागू करने और कार्यप्रवाह स्वचालित करने के शक्तिशाली साधन हैं। अपने Git अनुभव को और अनुकूलित करने के लिए अन्य हुक प्रकारों को भी सीखते रहें!
एआई शिक्षक के साथ Git और GitHub का पेशेवर कार्यप्रवाह सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “प्री-कमिट और पोस्ट-मर्ज हुक्स” पाठ निःशुल्क है?
हाँ—“प्री-कमिट और पोस्ट-मर्ज हुक्स” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Git और GitHub का पेशेवर कार्यप्रवाह पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Git और GitHub का पेशेवर कार्यप्रवाह पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“प्री-कमिट और पोस्ट-मर्ज हुक्स” में मैं क्या सीखूँगा?
लिंटिंग के लिए प्री-कमिट हुक्स और सूचनाओं के लिए पोस्ट-मर्ज हुक्स के व्यावहारिक उदाहरण लागू कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Git और GitHub का पेशेवर कार्यप्रवाह का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Git और GitHub का पेशेवर कार्यप्रवाह शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Git और GitHub का पेशेवर कार्यप्रवाह शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“प्री-कमिट और पोस्ट-मर्ज हुक्स” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Git और GitHub का पेशेवर कार्यप्रवाह पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Git और GitHub का पेशेवर कार्यप्रवाह पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Git हुक्स को समझना
- प्री-कमिट और पोस्ट-मर्ज हुक्स
- Git कॉन्फ़िगरेशन को अनुकूलित करना
- Husky के साथ हुक साझा करना