70 के दशक में अपनाए जाने के बाद से संस्करण नियंत्रण प्रणालियों का सॉफ़्टवेयर विकास पर गहरा प्रभाव पड़ा है।
सॉफ़्टवेयर विकास में संस्करण नियंत्रण प्रणाली (VCS) का उपयोग करना लगभग आवश्यक हो गया है और यही कारण है कि 70% सॉफ़्टवेयर विकास टीमें अपनी संस्करण आवश्यकताओं के लिए Git जैसे VCS का उपयोग करती हैं।
यदि यह पर्याप्त नहीं है, तो हाल के वर्षों में अपनाने में लगातार वृद्धि जारी है क्योंकि ये सिस्टम कोड प्रबंधन के साथ-साथ कोड गुणवत्ता और सटीकता दोनों में सुधार करते हैं।
यह देखते हुए कि बहुप्रचारित DevOps दर्शन के लिए ये लाभ कितने महत्वपूर्ण हैं, इसमें कोई आश्चर्य नहीं होना चाहिए कि आधुनिक सॉफ्टवेयर विकास में संस्करण नियंत्रण प्रणालियाँ और भी अधिक महत्वपूर्ण हो गई हैं।
भले ही सॉफ्टवेयर डेवलपमेंट लाइफ साइकल (एसडीएलसी) ने पिछले कुछ समय से अपना दबदबा बनाए रखा हो, फिर भी ऐसे उभरते हुए दर्शन हैं जो कम समय में एप्लिकेशन और सेवाएं प्रदान करने का वादा करते हैं।
ऐसा ही एक दर्शन DevOps है: प्रथाओं का एक सेट जो किसी उत्पाद के समय-समय पर बाजार में तेजी लाने के इरादे से पारंपरिक सॉफ्टवेयर विकास से परे जाता है और परिणामस्वरूप, ग्राहकों को कुशलतापूर्वक सेवा प्रदान करता है। विशेष रूप से, स्वचालन और सुव्यवस्थित करने पर ध्यान केंद्रित किया गया है जिससे इसके चिकित्सकों को तेजी से सॉफ्टवेयर बनाने में मदद मिलेगी।
जब ऐसी सॉफ़्टवेयर विकास पद्धति के अनुप्रयोग की बात आती है, तो विकास और संचालन टीमें दोनों सहयोग करती हैं और जितनी जल्दी हो सके सुरक्षित, सुविधा संपन्न सॉफ़्टवेयर बनाने के प्रयास के प्रति जिम्मेदारी साझा करती हैं। बेशक, DevOps टीमें यह भी जांचती हैं कि वास्तविक उपयोगकर्ताओं को क्या चाहिए और इन सुविधाओं को अपने त्वरित, वृद्धिशील अपडेट में शामिल करते हैं।
कुल मिलाकर, साइलो में काम करने वाली टीमों का यह पुराना व्यवसाय ख़त्म हो गया है, इसका श्रेय उपकरणों के एक नए सेट के उपयोग को जाता है जो साझा करने और सहयोग में सहायता करता है। इन उपकरणों के साथ तेजी से संवाद करने और प्रतिक्रिया साझा करने में सक्षम होने से, उक्त सॉफ़्टवेयर उत्पाद का त्वरित समय-समय पर बाज़ार प्राप्त किया जा सकता है, जिससे DevOps दर्शन को अपनाना वांछनीय हो जाता है।
DevOps टूल की बात करें तो, Git जैसे संस्करण नियंत्रण प्रणाली (VCS) का उपयोग संभवतः सबसे अधिक मांग वाला है। खासतौर पर तब से जब DevOps ने सॉफ्टवेयर विकास में प्रमुख भूमिका निभानी शुरू कर दी है।
जैसा कि आप पहले से ही जानते हैं, एक संस्करण नियंत्रण प्रणाली - काफी हद तक Git की तरह - आपके कोड और परियोजना की शुरुआत के बाद से हुए सभी परिवर्तनों को प्रबंधित करने के लिए जिम्मेदार है। दूसरे शब्दों में, किसी भी मैन्युअल प्रबंधन से पूरी तरह बचते हुए, आपके कोड का पूरा इतिहास बनाए रखा जाता है।
जब आप ऐसे स्रोत कोड प्रबंधन उपकरण का उपयोग करते हैं, तो आप किए गए परिवर्तनों, टाइमस्टैम्प जिस पर परिवर्तन किया गया था और उस व्यक्ति से संबंधित जानकारी प्राप्त करेंगे जिसने ऐसे परिवर्तन किए हैं। यह देखते हुए कि प्रोजेक्ट स्रोत कोड के सभी संस्करणों को प्रबंधित करने में वीसीएस कितना गहन है, आकस्मिक परिवर्तन की कोई संभावना नहीं है। फिर भी अधिक महत्वपूर्ण बात यह है कि टीमें उक्त परियोजना पर शाखाएँ और विलय बनाते समय एक साथ परियोजनाओं पर काम कर सकती हैं ताकि एक अच्छी 'मेनलाइन' बनाए रखी जा सके।
DevOps पद्धति के संबंध में, एक संस्करण नियंत्रण प्रणाली स्वचालित रूप से फ़ाइलों को प्रबंधित और ट्रैक करने की क्षमता के आधार पर सहयोग और साझा प्रतिक्रिया का समर्थन करती है। आपकी टीम को स्रोत कोड देखने को मिलता है क्योंकि इसे अधिकतम दृश्यता के साथ सभी के उपयोग के लिए एक स्थान पर रखा जाता है: सभी टीम के सदस्यों के लिए यह देखना संभव है कि कौन सी फाइलों पर काम कर रहा है ताकि डुप्लिकेशन भी न हो।**
संस्करण नियंत्रण प्रणालियाँ दो प्रकार की होती हैं - वितरित और केंद्रीकृत। जबकि पहला प्रत्येक उपयोगकर्ता को अपनी स्थानीय मशीन पर एक प्रति संग्रहीत करने की अनुमति देता है, दूसरा उपयोगकर्ताओं को एक केंद्रीय सर्वर तक पहुंच प्रदान करता है। जब वितरित संस्करण नियंत्रण टूल की बात आती है, तो अधिकांश सॉफ़्टवेयर विकास टीमें Git का उपयोग करती हैं।
लिनस टोरवाल्ड्स द्वारा लिखित, Git को पहली बार 2005 में लिनक्स कर्नेल के विकास पर नज़र रखने के लिए उपयोग के लिए जारी किया गया था।
ओपन-सोर्स सॉफ़्टवेयर होने के कारण, Git को आपके सिस्टम पर चल रहे ऑपरेटिंग सिस्टम के आधार पर वेबसाइट से डाउनलोड किया जा सकता है। हाँ, इसमें विंडोज़ भी शामिल है!
एक बार जब आप अपने सिस्टम पर Git इंस्टॉल कर लेते हैं, तो दो तरीके हैं जिनसे आप इस VCS का उपयोग कर सकते हैं: टर्मिनल या GUI का उपयोग करके। ऐसे कई GUI हैं जिन्हें Git को अधिक उपयोगकर्ता-अनुकूल बनाने के लिए डिज़ाइन किया गया है लेकिन टर्मिनल का उपयोग करना हमेशा पसंदीदा तरीका रहा है।
इसके बारे में बोलते हुए, Git इंस्टॉल करने के बाद आपको सबसे पहला कमांड जो उपयोग करना चाहिए वह यह जांचना है कि यह आपके सिस्टम पर उपलब्ध है या नहीं:
इसके अतिरिक्त, यदि आप अपने किसी प्रोजेक्ट का संस्करण नियंत्रण करना चाहते हैं, तो आपको निम्नलिखित कमांड का उपयोग करके प्रोजेक्ट निर्देशिका बनाना और नेविगेट करना होगा:
एक बार जब आप एक प्रोजेक्ट बना लेते हैं, तो एक Git रिपॉजिटरी बनाने का समय आ जाता है जो निम्नलिखित कमांड चलाकर सभी स्रोत कोड परिवर्तनों को ट्रैक करेगा:
अब, एक बार जब आप इसे पूरा कर लेते हैं, तो सामान्य Git कमांड होते हैं जिनका उपयोग आप अपनी परियोजनाओं में स्रोत कोड लिखते समय करेंगे, और जो आगे देखने लायक हैं।**
जैसा कि हमने पहले चर्चा की है, अधिकांश डेवलपर्स Git का उपयोग करते हैं क्योंकि यह आधुनिक सॉफ्टवेयर विकास में महत्वपूर्ण भूमिका निभाता है।
इसलिए, यदि आप अपने कोडिंग प्रोजेक्ट के लिए वर्जनिंग को महत्वपूर्ण मानते हैं, तो यहां 5 सामान्य Git कमांड हैं जिनसे प्रत्येक डेवलपर को परिचित होना चाहिए:
जैसा कि नाम से पता चलता है, यह कमांड कॉन्फ़िगरेशन विकल्प सेट करता है, या तो वैश्विक अर्थ में या रेपो के लिए।
इस कमांड के दो सामान्य उपयोगों में उपयोगकर्ता नाम और ईमेल पता सेट करना शामिल है:
जैसा कि आप नीचे दिए गए आउटपुट से देख सकते हैं, git स्टेटस कमांड आपको स्टेजिंग एरिया और वर्किंग डायरेक्टरी के बारे में जानकारी प्रदान करता है। विशेष रूप से, आपको किए गए परिवर्तन और वे फ़ाइलें भी देखने को मिलती हैं जिन्हें अभी तक Git द्वारा ट्रैक नहीं किया जा रहा है।
जब आप यह कमांड चलाते हैं, तो आप कार्यशील निर्देशिका से स्टेजिंग क्षेत्र में परिवर्तन जोड़ देंगे। आप जो कर रहे हैं वह Git को बता रहा है कि जब आप कमिट कमांड चलाते हैं तो आप फ़ाइल में बदलाव करना चाहते हैं।
** **
यह कमिट कमांड आपको चरणबद्ध क्षेत्र में किए गए सभी परिवर्तनों को सहेजने में मदद करेगा और इसे प्रोजेक्ट का 'सुरक्षित' संस्करण माना जाता है क्योंकि किए गए परिवर्तन पहले जोड़े जाते हैं जबकि कमिट कमांड यह सुनिश्चित करता है कि ये परिवर्तन स्थानीय रेपो में सहेजे गए हैं।
यह कमांड डेवलपर को किसी प्रोजेक्ट के विशेष इतिहास को देखने की क्षमता प्रदान करता है ताकि प्रोजेक्ट का एक विशेष संस्करण पाया जा सके। इस खोज को परिष्कृत करने के लिए कई तर्क जोड़े जा सकते हैं।
अब, Github का उल्लेख न करना उचित नहीं होगा क्योंकि यह सभी Git रिपॉजिटरी को ऑनलाइन होस्ट करता है इसलिए डेवलपर्स के बीच सहयोग बहुत आसान हो जाता है। एक डेवलपर के रूप में, तीन और दिलचस्प कमांड हैं जिन्हें आप सीख सकते हैं और जो जीथब पर होस्ट किए गए कोड के साथ काम करते हैं: गिट पुश, गिट पुल और गिट क्लोन।
जैसे आप क्या सीख रहे हैं?
क्या आप इन कौशलों को Web3 दुनिया में लागू करना चाहते हैं?
लुमोस अकादमी - एक वेब3 शिक्षा मंच जो आपको व्यापक पाठ्यक्रम के साथ ब्लॉकचेन विकास अवधारणाओं को सिखाने के लिए समर्पित है।
एक नज़र डालें और सीखने की अवस्था में आगे बढ़ें: https://academy.lumoslabs.co/