Git kya hai – What is GIT in hindi

अगर आपको softwares development के बारे मे थोड़ा सा भी पता होगा, तो आप ये जरूर जानते होंगे की Git kya hai! अगर नहीं तो ये आलेख आपके लिए ही है। आज के इस आलेख मे हम बात करेंगे Git के बारे मे, git कैसे उपयोग मे लाया जाता है और software industries मे इसका इस्तेमाल क्यों किया जाता है।

Git kya hai

GIT kya hai ? GIT इस्तेमाल करने के फायदे ?

जैसा की आपलोगो को पता ही होगा की सोफ्टवेर्स बनाने के लिए सॉफ्टवेयर मे काम करने वाले engineers एवं developers कोड लिखते है।  क्या आपने कभी सोंचा है, की वे लोग अलग-अलग computers मे अलग-अलग जगहों से काम करने के बाद अपने कोड को एक दूसरे के साथ कैसे share करते है ? एवं सॉफ्टवेयर को बन के तैयार करने के लिए Source Code को कैसे एक जगह  एकत्रित किया जाता है ? या कैसे पता लगते है की कौन से code को किसने लिखा एवं परिवर्तित किया ? अगर आपका जवाब नहीं है, तो इस आलेख मे आपको इनसबका जवाब मिल जायेगा।

Git क्या है? What is git in hindi?

GIT एक free ओपन सोर्स  (open source) distributed  version control tool  है, जो छोटे एवं बड़े सॉफ्टवेयर projects के development के दौरान टीम collaboration एवं सॉफ्टवेयर प्रोजेक्ट के version को बड़े आसानी एवं कुशलता से handle करने के लिए बनाया गया था, और ये आमतौर पर सॉफ्टवेयर इंडस्ट्रीज मे उपयोग मे लाया जाता है।

Git की खोज Linus Torvalds ने किया, जिसका पहला release 7 अप्रैल 2005 मे  किया गया। Linux Operating System के Kernel को development के लिए Git को बनाया गया था ताकि दुसरे kernel developer इस project में अपना सहयोग कर सके , यानि की इस project पर एक से ज्यादा लोग एक साथ मिलकर के काम कर सकें।

किसी बड़े सॉफ्टवेयर प्रोजेक्ट को बनाने के लिए काफी लोगो की आवस्यकता पड़ती है, एवं softwares को अलग-अलग features के साथ pack करके increamental releases किया जाता है, ताकि पूरा सॉफ्टवेयर तैयार होने से पहले उपभोक्ताओं के पास इस्तेमाल करने को कुछ निम्नतम फीचर्स के साथ product उपलब्ध हो। ऐसा करने के लिए सोफ्टवेर्स को छोटे-छोटे हिस्सों में बाँट कर developers को तैयार करने के लिए सौंपा जाता है ताकि अलग-अलग लोग एक साथ अलग-अलग फीचर्स में काम कर सके, एवं developent तेजी से हो पाए।  तो ऐसे मे code को clean रखना एवं ये पता लगाना की किसने कहा क्या change किया, क्यों change किया एवं कब change किया काफी मुश्किल हो जाता है। सच कहे तो सबसे जायदा मुश्किल तब आती है जब दो या दो से अधिक लोग एक ही file (code) पर काम कर रहे हो एवं उनके कोड को merge करना हो, तब ये तय कर पाना की एक दूसरे के कोड को बिना गवाए सही कोड को ही स्रोत कोड मे कैसे विलय करे। 

तो ऐसे मे subversion (svn) जो की एक centralized version control tool है की तुलना मे git एक decentralized, distributed version-control tool के रूप मे उपयोग मे लाया जाता है। यह मुख्यता दो components से मिलकर एक decentralized सेल्फ contained document टूल बनता है, जो की कुछ इस प्रकार है :

  • GIT Client – यह एक सॉफ्टवेयर की तरह है जिसे आप अपने windows, linux या  mac कंप्यूटर मे डाउनलोड एवं install कर सकते है। यह मुख्यता आपके कंप्यूटर को यह काबिलियत प्रदान करता है की आप अपने कंप्यूटर मे ही git respository बना सके एवं अपने code के history एवं changes के versions को मेन्टेन कर सके।  इसमें आपका कोड आपके कंप्यूटर तक ही सिमित रहेगा एवं एक बार install करने के बाद आपको इंटरनेट की अव्य्श्यकता नहीं पड़ेगी।

    इसके अलावा इसका उपयोग remote repositories से कनेक्ट एवं code exchange करने के लिए भी किया जाता है, जो की आप command prompt या terminal की माध्यम से भी कर सकते है, इसके लिए बहोत से GUI टूल भी उपलब्ध है जो इस काम को आसान बना देते है। 

  • GIT Server – git servers वो platforms जहा आपके कोड को cloud मे host किया जाता है, जिस्से कोई भी दुनिया के किसी भी जगह से permission होने पर आपके code को access कर सके एवं अपने कोड को दुसरो के साथ share कर सके। कुछ प्रचलित platforms जैसे  github.com, bitbucket.org, gitlab.com जो FREE एवं paid respositories बनाने के लिए services प्रदान करती है।

    अपने remote repositories को access करने के लिए या तो फिर आप ऊपर दिए गए platforms का इस्तेमाल login करके कर सकते है, एवं आप git-client की मद्दद से भी कर सकते है, दोनों ही माध्यम मे आपका खाता किसी git server मे होना अनिवार्य है।

git working in hindi

 

Git मे इस्तेमाल होने वाले कुछ technical terms 

  • Repository – GIT में रिपॉजिटरी में एक परियोजना के विभिन्न विभिन्न संस्करणों की फाइलों का संग्रह होता है। इन फाईलो को repository मे उपयोगकर्ता के स्थानीय मशीन से आयत किया जाता है, ताकि भविस्य मे इन files के content परिवर्तन किया जा सके।  इन संस्करणों को बनाने और उन्हें एक विशिष्ट स्थान पर संग्रहीत करने के लिए एक वीसीएस (VCS- Version Controle System) या संस्करण नियंत्रण प्रणाली का उपयोग किया जाता है जिसे रिपोजिटरी कहा जाता है।

    सर्वर पर उपयोग के आधार पर रिपॉजिटरी को दो प्रकारों में विभाजित किया जा सकता ह, जो की कुछ इस प्रकार है :

    1. Bare Repositories: इन रिपॉजिटरी का उपयोग विभिन्न डेवलपर्स द्वारा किए गए परिवर्तनों को साझा करने के लिए किया जाता है। किसी उपयोगकर्ता को किए गए संशोधनों के आधार पर इस Repository को संशोधित करने या इस Repository के लिए एक नया संस्करण बनाने की अनुमति नहीं है।
    2. Non-bare Repositories: Non-bare repositories उपयोगकर्ता के अनुकूल हैं और इसलिए उपयोगकर्ता को फाइलों के नए संशोधन बनाने और भंडारों के लिए नए संस्करण बनाने की अनुमति देते हैं। यदि क्लोन ऑपरेशन के दौरान कोई पैरामीटर निर्दिष्ट नहीं है, तो डिफ़ॉल्ट रूप से क्लोनिंग प्रक्रिया एक Non-bare repositories बनाती है।
  •  Clone – उपर दिए गए विभिन्न गिट टूल्स की सहायता से मौजूदा गिट रिपोजिटरी से सामग्री की नयी प्रतिलिपि बनाने की प्रक्रिया को क्लोनिंग कहा जाता है। एक बार क्लोनिंग की प्रक्रिया पूरी हो जाने के बाद, उपयोगकर्ता को उसकी स्थानीय मशीन पर Source Code का पूरा भंडार मिल जाता है। एक बार क्लोनिंग हो जाने के बाद, Git डिफ़ॉल्ट रूप से मानता है कि रिपॉजिटरी पर किया जाने वाला कार्य एक ही उपयोगकर्ता के द्वारा किया गया है।
  • Branch – एक शाखा Repository का एक संस्करण है, जो मुख्य Project के मुख्य शाखा से अलग हो जाता है।  एक गिट Project में एक से अधिक शाखाएं हो सकती हैं। ये शाखाएं आपके परिवर्तनों के Snapshot की सूचक हैं। जब आप कोई नई feature जोड़ना चाहते हैं या bug ठीक करना चाहते हैं, तो आप अपने परिवर्तनों को सारांशित करने के लिए एक नई शाखा बनाते हैं।
  • Git Commit – git commit एक command है जिसे git add के बाद इस्तेमाल किया जाता है।  code में किये गए परिवर्तनों का एक नया संकरण बनाने के लिए changes के बाद git add का इस्तेमाल करके files के changes को repository मे विलय करने के लिए रेडी किया जाता है , जिसे staging कहते है। फिर git commit कमांड का इस्तेमाल करके उस Changes को आसानी से समझ में आने वाला नाम देके save कर दिया जाता है, जिस्से git उस changes का एक संस्करण बना लेता है। फिर git push कमांड के माध्यम से remote branch मे विलय कर दिया जाता है।
  • Pull Request – जब सारे changes किसी शाखा मे हो जाता है तब इन changes को मुख्य source code या main branch मे विलय करने के लिए डेवेलपर के द्वारा बनाये गए आवेदन को pull request कहा जाता है। ये git के सर्वर repository मे किया जाता है। आप ऊपर दिए गए चित्र को देख सकते है इस्से समझने के लिए।

डोकर (Docker ) के बारे मे भी पढ़े,  Cloud कंप्यूटिंग की दुनिया को जिसने बदल डाला।  यहाँ  click करे 


Git इस्तेमाल करने के फायदे 

  1. Version Management – फाइल्स में किये गए परिवर्तनों का संस्करण बनाने के काम को आसान बना देता है।
  2. Parallel Development – एक साथ एक या अधिक लोग एक ही project मे अलग-अलग जगहों से काम कर अपने किये काम का विलय मुख्य स्रोत में कर सकते है बिना किसी परेशानी के।
  3. Code Quality – दुसरो के द्वारा लिखे गए कोड को Pull Request के द्वारा review किया जा सकता है जिससे code की गुण्वत्ता का ध्यान रखा जा सके।
  4. Community – git community मे ऐसे लोग जो softwares बनाकर अपने कार्य को दूसरे लोगो के साथ शेयर करते है वो भी मुफ्त मे जिसे हम ओपन सोर्स (Open Source) सोफ्टवेर्स कहते है। 
Share

Leave a Comment

Your email address will not be published. Required fields are marked *