Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

कमांड-लाइन सर्वोत्तम प्रथाओं के साथ अपने ओपन-सोर्स रिपॉजिटरी में महारत हासिल करें

प्रभावी सहयोग, विशेष रूप से ओपन सोर्स सॉफ्टवेयर डेवलपमेंट में, प्रभावी संगठन के साथ शुरू होता है। यह सुनिश्चित करने के लिए कि कुछ भी छूट न जाए, सामान्य नियम, "एक इश्यू, एक पुल रिक्वेस्ट" अंगूठे का एक अच्छा नियम है।

"डॉक्यूमेंटेशन में सभी टूटे हुए लिंक ठीक करें" जैसे बड़े दायरे वाले इश्यू खोलने के बजाय, ओपन सोर्स प्रोजेक्ट्स को कई छोटे और अधिक प्रबंधनीय इश्यू के साथ योगदानकर्ताओं को आकर्षित करने में अधिक सफलता मिलेगी।

पिछले उदाहरण में, आप टूटे हुए लिंक को सेक्शन या पेज के अनुसार दायरे में रख सकते हैं। यह अधिक योगदानकर्ताओं को कूदने और अपने समय की छोटी विंडो समर्पित करने की अनुमति देता है, बजाय एक व्यक्ति की प्रतीक्षा करने के जो एक बड़े और अधिक थकाऊ योगदान प्रयास को ले सके।

छोटे दायरे वाले इश्यू प्रोजेक्ट मेंटेनर्स को यह देखने में भी मदद करते हैं कि काम कहां पूरा हो चुका है और कहां नहीं। इससे संभावना कम हो जाती है कि इश्यू का कुछ हिस्सा छूट जाए, पूरा मान लिया जाए, और बाद में बग या सुरक्षा कमजोरियों का कारण बने।

यह सब ठीक है। लेकिन क्या होगा यदि आपने पहले से ही कई बड़े दायरे वाले इश्यू खोल रखे हैं, कुछ PR पहले ही सबमिट या मर्ज हो चुके हैं, और वर्तमान में आपको कोई अंदाजा नहीं है कि काम कहां शुरू हुआ या रुका?

आपके प्रोजेक्ट की स्थिति को वापस नियंत्रण में लाने के लिए थोड़ी छंटाई की आवश्यकता होगी। शुक्र है, कई कमांड लाइन टूल हैं जो आपको एक गड़बड़ रिपॉजिटरी को स्कैन, सॉर्ट और समझने में मदद करते हैं। यहां उनमें से एक छोटा चयन है जिनका मैं उपयोग करता हूं।

vim के साथ इंटरैक्टिव खोज और प्रतिस्थापन

आप Vim में एक फाइल खोल सकते हैं, फिर इंटरैक्टिव खोज और प्रतिस्थापन कर सकते हैं:

:%s/\/newword/gc

% वर्तमान फाइल की सभी लाइनों में देखने को इंगित करता है, s प्रतिस्थापन के लिए है, \ पूरे शब्द से मेल खाता है, और g "ग्लोबल" के लिए है जो हर घटना के लिए है। अंत में c आपको प्रत्येक परिवर्तन को किए जाने से पहले देखने और पुष्टि करने देगा। आप इसे c के बिना स्वचालित रूप से और बहुत तेजी से चला सकते हैं, लेकिन यदि आपने पैटर्न-मिलान त्रुटि की है तो आप चीजों को जटिल बनाने का जोखिम उठाते हैं।

नोड मॉड्यूल के साथ मार्कडाउन फाइलों में डेड लिंक खोजें

मार्कडाउन-लिंक-चेक नोड मॉड्यूल का एक बेहतरीन CLI साथी है।

मैं इसका इतनी बार उपयोग करता हूं कि मैंने इसे एक Bash एलियास फंक्शन में बदल दिया। ऐसा ही करने के लिए, इसे अपने .bashrc में जोड़ें:

# फोल्डर में मार्कडाउन लिंक चेक, रिकर्सिव
function mlc () {
find $1 -name \*.md -exec markdown-link-check -p {} \;
}

फिर mlc <filename> के साथ चलाएं।

find के साथ git रिपॉजिटरी के साथ या बिना सबडायरेक्टरी सूचीबद्ध करें

सभी सबडायरेक्टरी प्रिंट करें जो git रिपॉजिटरी हैं, या दूसरे शब्दों में, उनमें .git है:

find . -maxdepth 1 -type d -exec test -e '{}/.git' ';' -printf "is git repo: %p\n"

सभी सबडायरेक्टरी प्रिंट करने के लिए जो git रिपॉजिटरी नहीं हैं, ! के साथ टेस्ट को नकारें:

find . -maxdepth 1 -type d -exec test '!' -e '{}/.git' ';' -printf "not git repo: %p\n"

xargs के साथ सूची से कई git रिपॉजिटरी खींचें

मैंने शुरू में इसका उपयोग Bash स्क्रिप्ट के साथ अपने लैपटॉप को स्वचालित रूप से फिर से बनाने के हिस्से के रूप में किया था, लेकिन यह क्लाउड इंस्टेंस या Dockerfiles के साथ काम करते समय भी काफी उपयोगी है।

एक फाइल दी गई है, repos.txt जिसमें प्रत्येक लाइन पर एक रिपॉजिटरी का SSH लिंक है (और आपके SSH कुंजियाँ सेट अप हैं), चलाएं:

xargs -n1 git clone < repos.txt

यदि आप कई रिपॉजिटरी को खींचना और पुश करना चाहते हैं, तो मैंने पहले लिखा था कि अपने रिपॉजिटरी को प्रबंधित करने के लिए Bash वन-लाइनर का उपयोग कैसे करें।

jot के साथ नंबर द्वारा इश्यू सूचीबद्ध करें

मैं OWASP वेब सुरक्षा टेस्टिंग गाइड रिपॉजिटरी के लिए सह-लेखक और मेंटेनर हूं जहां मैंने हाल ही में एक बड़े इश्यू (यूप, यह "डॉक्यूमेंटेशन में सभी टूटे हुए लिंक ठीक करें" था - आपने कैसे अनुमान लगाया?) को लिया और इसे कई छोटे, अधिक प्रबंधनीय इश्यू में विभाजित किया। पूरे सैंतीस छोटे, अधिक प्रबंधनीय इश्यू।

मैं उन सभी इश्यू को गिनना चाहता था जो मूल एक बन गए, लेकिन सैंतीस इश्यू नंबर (#275 से #312) टाइप करने का विचार भयानक रूप से थकाऊ और समय लेने वाला लग रहा था। इसलिए, प्राकृतिक प्रोग्रामर फैशन में, मैंने उन सभी नंबरों को टाइप करने में लगने वाले समान समय को खर्च किया और इसे स्वचालित करने का एक तरीका तैयार किया।

jot यूटिलिटी (apt install athena-jot) एक छोटा सा टूल है जो तब बहुत मदद करता है जब आप कुछ नंबर प्रिंट करना चाहते हैं। बस इसे बताएं कि आप कितने चाहते हैं, और कहां शुरू और रुकना है।

# jot [ reps [ begin [ end ] ] ]
jot 37 275 312

यह 275 से 312 तक, समावेशी, प्रत्येक नंबर को एक नई लाइन पर प्रिंट करता है। इन्हें इश्यू नंबर नोटेशन में बनाने के लिए जो GitHub और कई अन्य प्लेटफॉर्म स्वचालित रूप से पहचानते हैं और लिंक में बदल देते हैं, आप आउटपुट को awk में पाइप कर सकते हैं।

jot 37 275 312 | awk '{printf "#"$0", "}'
#275, #276, #277, #278, #279, #280, #281, #282, #283, #284, #285, #286, #287, #288, #289, #290, #291, #292, #293, #295, #296, #297, #298, #299, #300, #301, #302, #303, #304, #305, #306, #307, #308, #309, #310, #311, #312

आप jot का उपयोग रैंडम या रिडंडेंट डेटा उत्पन्न करने के लिए भी कर सकते हैं, मुख्य रूप से डेवलपमेंट या टेस्टिंग उद्देश्यों के लिए।

CLI-संचालित ओपन सोर्स संगठन

एक अच्छी तरह से व्यवस्थित ओपन सोर्स रिपॉजिटरी एक अच्छी तरह से रखरखाव वाला ओपन सोर्स प्रोजेक्ट है। इस पोस्ट को आसान संदर्भ के लिए सेव करें, और अपने नए खोजे गए CLI सुपरपावर का उपयोग अच्छे के लिए करें!

  1. 9 विशेषज्ञ ट्रिक्स के साथ अपने मैक के गेमिंग प्रदर्शन को बढ़ावा दें 9 विशेषज्ञ ट्रिक्स के साथ अपने मैक के गेमिंग प्रदर्शन को बढ़ावा दें

    इस लेख में, हमने उन विभिन्न ट्रिक्स को समझाया है जो गेमिंग के लिए आपके मैक प्रदर्शन को अनुकूलित करने में मदद कर सकते हैं। जबकि मैक मजबूत मशीनों में से एक है और गेमर्स आमतौर पर गेमिंग उद्देश्यों के लिए इसे पसंद करते हैं, ऐसे समय होते हैं जब आपका मैक स्क्रीन पर डिस्प्ले ग्राफिक्स और विजुअल इफेक्ट्स को

  1. Windows 10 मास्टर करें: उन्नत PC नियंत्रण के लिए 14 आवश्यक कमांड-लाइन टिप्स Windows 10 मास्टर करें: उन्नत PC नियंत्रण के लिए 14 आवश्यक कमांड-लाइन टिप्स

    Windows 10 में एक अविश्वसनीय ग्राफिक्स यूजर इंटरफेस (GUI) है जो अक्सर चीजों को पूरा करने के लिए पर्याप्त होगा। लेकिन अगर आपका आंतरिक ओलिवर ट्विस्ट और अधिक चाहता है, तो आपको कमांड लाइन के बारे में सीखना शुरू कर देना चाहिए। कमांड प्रॉम्प्ट के साथ, आपको उन सुविधाओं तक पहुंच मिलती है जो GUI में उपलब्ध न

  1. साम्राज्य और रणनीति बनाने के लिए टॉप 5 ओपन-सोर्स एंड्रॉइड गेम्स साम्राज्य और रणनीति बनाने के लिए टॉप 5 ओपन-सोर्स एंड्रॉइड गेम्स

    हम सभी अपने बचपन के दिनों में अपने साम्राज्य और राज्यों का निर्माण करना चाहते थे। यह इच्छा क्लासिक खेलों और बाद के वर्षों में उनके स्पिन-ऑफ द्वारा पूरी हुई। कल्पना और रणनीति वीडियो गेम्स के मिश्रण ने सचमुच हमारी बचपन की कल्पनाओं को डिजिटल दुनिया में ला दिया है। आज, इस लेख में हम शीर्ष 5 खेलों को सूच