Last chance! 50% off DataCamp Premium
Sale ends in

यदि आपने कभी कोडिंग, प्रोग्रामिंग, या सॉफ्टवेयर डेवलपमेंट के बारे में कुछ भी पढ़ा है, तो आपने Git का नाम ज़रूर सुना होगा।
यह उपयोगी (और निःशुल्क) टूल दुनिया का सबसे लोकप्रिय वर्शन कंट्रोल सिस्टम है। यह इतना लोकप्रिय है कि 90% से अधिक पेशेवर डेवलपर्स इसका उपयोग करते हैं, और अन्य क्षेत्रों के कई पेशेवर भी।
कई मायनों में, Git व्यावहारिक रूप से वर्शन कंट्रोल का पर्याय है। लेकिन वर्शन कंट्रोल क्या है और यह इतना महत्वपूर्ण क्यों है?
Gitverse की गहन यात्रा में हमारे साथ जुड़ें। यहाँ, हम Git की हर बात पर नज़दीकी नज़र डालते हैं—यह क्या है, कौन इसका उपयोग करता है, और इसका इतिहास।
Git एक वितरित वर्शन कंट्रोल सिस्टम (dVCS) है। जैसा कि नाम से स्पष्ट है, वर्शन कंट्रोल किसी दिए गए प्रोजेक्ट के विभिन्न संस्करणों को नियंत्रित करने और ट्रैक करने के बारे में है।
एक VCS किसी भी फ़ाइल (या फ़ाइलों के समूह) में हुए बदलावों को ट्रैक और रिकॉर्ड करता है, जिससे आप बाद में या आवश्यकता पड़ने पर किसी विशेष इटरेशन को वापस ला सकें। VCS को कभी-कभी सोर्स कोड मैनेजमेंट (SCM) या रिविज़न कंट्रोल सिस्टम (RCS) भी कहा जाता है।
वर्शन कंट्रोल कई टीम सदस्यों को एक ही प्रोजेक्ट पर सहयोगी रूप से काम करने की सुविधा देता है, भले ही वे एक ही कमरे में हों या एक ही देश में न हों।
उदाहरण के लिए, मान लीजिए आप एक गीतकार हैं। आप घर पर अपने लिखे नए गीत पर तल्लीनता से काम कर रहे हैं, लेकिन आप उससे पूरी तरह संतुष्ट नहीं हैं। तो आप तय करते हैं कि जिन हिस्सों में काम चाहिए, उन पर दो अन्य गीतकारों के साथ मिलकर काम करेंगे।
आप और अन्य दो गीतकार गीत के बोल और संगीत स्कोर में बदलाव करने लगते हैं, और आप में से हर कोई स्वतंत्र रूप से काम करता है। जब दूसरे संगीतकार आपको अपने-अपने संस्करण भेजते हैं, तो आपको उनके कुछ बदलाव पसंद आते हैं, लेकिन सभी नहीं।
अब कल्पना करें कि आप गीत के हर संस्करण में हर बदलाव देख सकते हैं, उन्हें आज़मा सकते हैं कि वे कैसे लगते हैं, और फिर जो बदलाव आपको पसंद हैं, उन्हें सभी संस्करणों में समन्वित कर सकते हैं।
यही काम Git उपयोगकर्ताओं को करने देता है। व्यक्ति अपने प्रोजेक्ट पर लोकल (अपने कंप्यूटर पर) काम कर सकते हैं, जो बदलाव काम करते हैं उन्हें सहेज सकते हैं, फिर उन बदलावों को Git रिपॉजिटरी में सिंक्रोनाइज़ कर सकते हैं ताकि दूसरे लोग उनका नया संस्करण देख सकें।
Git को आमतौर पर एक सॉफ्टवेयर डेवलपमेंट टूल माना जाता है—जो वह है भी—लेकिन इसका उपयोग किसी भी तरह की फ़ाइल के वर्शन कंट्रोल (वर्ज़निंग) के लिए किया जा सकता है, चाहे वह कोड की पंक्तियाँ हों, किसी नई वेबसाइट का डिज़ाइन लेआउट, या कोई गीत।
सहयोगी कार्य के लिए उपयोगी टूल होने के अलावा, वर्शन कंट्रोल के कुछ अन्य फायदे भी हैं:
नहीं, Git अकेला VCS नहीं है, लेकिन यह सबसे लोकप्रिय है और व्यवहार में मानक टूल माना जाता है। अन्य लोकप्रिय वर्शन कंट्रोल सिस्टम में Fossil, Mercurial, और Subversion शामिल हैं।
सिस्टमों के बीच हल्के-फुल्के अंतर होते हैं, जैसे कि वे ब्रांचिंग और मर्जिंग जैसे कोर फ़ंक्शनों को कैसे संभालते हैं, लेकिन मोटा-मोटा सिद्धांत एक जैसा है। हालाँकि मुख्य अंतर यह है कि वे केंद्रीकृत हैं या वितरित।
केंद्रीकृत और वितरित दोनों सिस्टम, जैसे Git, एक ही कार्य करते हैं।
दोनों के बीच मुख्य अंतर यह है कि केंद्रीकृत सिस्टम में एक केंद्रीय सर्वर होता है जहाँ टीम सदस्य अपने काम के नवीनतम संस्करण पुश करते हैं। आप इसे कुछ-कुछ ऐसे समझ सकते हैं जैसे एक साझा केंद्रीय प्रोजेक्ट, जिसमें सभी योगदान करते हैं।
वितरित VCS में, टीम सदस्यों के पास अपने डिवाइस पर पूरे प्रोजेक्ट के इतिहास की एक लोकल कॉपी (क्लोन) होती है, इसलिए बदलाव करने या अपने कोड पर काम करने के लिए उन्हें ऑनलाइन होने की ज़रूरत नहीं होती। वे यह क्लोन किसी ऑनलाइन रिपॉजिटरी से प्राप्त करते हैं, न कि किसी केंद्रीकृत सर्वर से।
जब डेवलपर्स Git के साथ काम करते हैं, तो हर टीम सदस्य का प्रोजेक्ट क्लोन एक ऐसी रिपॉजिटरी होता है जिसमें प्रोजेक्ट की शुरुआत से अब तक के सभी बदलाव हो सकते हैं।
Git का विकास 2005 में फिनलैंड के सॉफ्टवेयर इंजीनियर लिनुस टॉर्वाल्ड्स ने किया था, जिन्हें Linux ऑपरेटिंग सिस्टम कर्नेल विकसित करने का श्रेय भी दिया जाता है।
Git एक तत्काल आवश्यकता को पूरा करने के लिए बनाया गया था। इसके आविष्कार से पहले, दुनिया भर के Linux डेवलपर्स मालिकाना सॉफ्टवेयर BitKeeper का उपयोग कर रहे थे, जो स्वयं एक dVCS था।
क्योंकि यह सॉफ्टवेयर किसी कंपनी के स्वामित्व में था, इसने Linux डेवलपर्स के बीच कुछ असहमति पैदा की, जिनमें से अधिकांश ओपन-सोर्स विचारधारा के पक्षधर थे।
सॉफ्टवेयर के मुफ्त उपयोग के बदले में, BitKeeper के पीछे की कंपनी BitMover ने Linux समुदाय पर कुछ पाबंदियाँ लगा दीं। Linux Journal के अनुसार, इनमें से एक पाबंदी यह थी कि वे प्रतिस्पर्धी वर्शन कंट्रोल प्रोजेक्ट्स पर काम नहीं कर सकते थे।
शायद अनिवार्य रूप से, एक Linux डेवलपर ने एक ओपन-सोर्स उत्पाद बनाने के प्रयास में BitKeeper का रिवर्स-इंजीनियरिंग शुरू कर दिया। अपने वादे के अनुरूप, BitMover ने Linux कर्नेल को सेवाएँ देना बंद कर दिया और वितरित विकास प्रणाली अनिश्चितता में फँस गई।
इस उलझन को सुलझाने के लिए, टॉर्वाल्ड्स ने 1991 के बाद पहली बार Linux पर काम रोक दिया और Git बनाया, तथा विकास शुरू करने के कुछ ही महीनों में एक स्थिर संस्करण जारी कर दिया।
दिलचस्प बात यह है कि शुरू में Linux कर्नेल ने BitKeeper अपनाने से पहले, डेवलपर्स अपने पैच (बदलाव) स्वतंत्र रूप से टॉर्वाल्ड्स को भेजते थे और वे उन्हें ज़रूरत के मुताबिक जोड़ते थे। और 2016 में, Git जारी होने के 11 साल बाद, BitKeeper ओपन-सोर्स हो गया।
लिनुस टॉर्वाल्ड्स की 2005 में Git पर पहली कोड कमिट में, उन्होंने एक रीड-मी फ़ाइल जोड़ी थी जो यह बताती है कि इस प्रोग्राम का नाम Git क्यों रखा गया। यहाँ उस फ़ाइल का एक अंश है:

जब तक आप अधिक सुसंस्कृत Global Information Tracker को प्राथमिकता न दें, Git का नाम उसकी क्षमताओं—या कहें, कथित अक्षमताओं—का हाज़िरजवाब संदर्भ है।
वर्शन कंट्रोल सिस्टम Git या यहाँ तक कि BitKeeper से भी पहले से मौजूद हैं। आइए एक संक्षिप्त ऐतिहासिक समयरेखा देखते हैं:
Git और GitHub परस्पर पूरक तकनीकें हैं। Git एक वर्शन कंट्रोल सिस्टम है जबकि GitHub एक क्लाउड-आधारित होस्टिंग सेवा है जो टीमों को अपनी रिपॉजिटरी प्रबंधित करने में मदद करती है।
GitHub को 2008 में Git के साथ सहयोगी कोडिंग को आसान बनाने के लिए डिज़ाइन किया गया था, और यह सॉफ्टवेयर ऐज़ अ सर्विस (SaaS) प्लेटफ़ॉर्म इसी में उत्कृष्ट रहा, अंततः दुनिया भर में लाखों उपयोगकर्ताओं को आकर्षित किया।
Git की मानक वर्शन कंट्रोल सुविधाओं के अलावा, GitHub में बग ट्रैकिंग, टास्क मैनेजमेंट टूल्स और कंटीन्युअस इंटीग्रेशन (CI) जैसी अपनी सुविधाएँ भी हैं। GitHub फ्रीमियम मॉडल पर चलता है; उपयोगकर्ता कई फीचर्स मुफ्त में एक्सेस कर सकते हैं लेकिन सभी फीचर्स अनलॉक करने के लिए प्रीमियम सदस्यता का भुगतान करना होता है। 2018 से GitHub Microsoft के स्वामित्व में है।
GitHub अकेली रिपॉजिटरी होस्टिंग सेवा नहीं है, लेकिन लाखों उपयोगकर्ताओं और सैकड़ों लाख प्रोजेक्ट्स के साथ, यह दुनिया की सबसे लोकप्रिय सेवा है। आप GitHub पर कई बड़ी कंपनियों को पा सकते हैं, जिनमें DataCamp भी शामिल है।
प्रतिद्वंदी सेवाओं में GitLab शामिल है, जो Git के लिए डिज़ाइन की गई पूर्णतः मुक्त और ओपन-सोर्स सेवा है, और Bitbucket, जो Git और Mercurial दोनों कोड मैनेजमेंट को सपोर्ट करता है।
हमने पहले कहा था कि Git और वर्शन कंट्रोल केवल कोडिंग और सॉफ्टवेयर डेवलपमेंट के लिए ही नहीं हैं, और यही बात GitHub पर भी लागू होती है—हालाँकि GitHub गैर-कोडिंग प्रोजेक्ट्स के लिए अनुकूलित नहीं है।
Git का उपयोग किसी भी तरह के सहयोगी प्रोजेक्ट में किया जा सकता है जहाँ वर्शन कंट्रोल मायने रखता है, जैसे किसी बड़े यूज़र मैनुअल का लेखन या यहाँ तक कि चर्च संगीत की रचना (यह आख़िरी एक वास्तविक प्रोजेक्ट है जिसे आप GitHub पर देख सकते हैं)
यद्यपि मुख्यतः सॉफ्टवेयर डेवलपमेंट की ठोस कोडिंग से जुड़ा हुआ है, जुड़े हुए क्षेत्रों के लोग नियमित रूप से Git का उपयोग करते हैं। डेटा साइंटिस्ट्स और एनालिस्ट्स इसका एक उदाहरण हैं; इन पेशेवरों को अपने काम को सहारा देने वाले कोड को प्रबंधित करने का तरीका चाहिए होता है, और Git वही प्रदान करता है।
यहाँ DataCamp में, हम लोगों को डेटा के साथ काम करने के लिए आवश्यक टूल्स और तकनीकें सिखाते हैं, जिनमें Git भी शामिल है। हमारे गहन और आकर्षक Git पाठ्यक्रमों की श्रृंखला यहाँ मिल सकती है।
Git कई कारणों से लोकप्रिय है, कम से कम इसलिए भी क्योंकि यह मुफ़्त और ओपन-सोर्स है।
Git की शक्ति और दक्षता को सच में समझने के लिए, हमें इसकी कुछ तकनीकी बारीकियों में उतरना होगा। यहाँ Git के काम करने का एक खाका है:
git init), तो वह एक रिपॉजिटरी बन जाती है।git add कमांड का उपयोग करते हैंmaster कहलाती है। जब आप कोई फीचर विकसित करना या कोई बग ठीक करना चाहते हैं, तो आप अपनी बदलावों को मुख्य विकास रेखा को प्रभावित किए बिना समेटने के लिए नई ब्रांच बना सकते हैं (git branch <branch-name>)।git merge कमांड का उपयोग करके उन बदलावों को वापस master ब्रांच (या किसी अन्य ब्रांच) में मर्ज कर सकते हैं।git remote कमांड का उपयोग करके रिमोट रिपॉजिटरीज़ से जुड़ने देता है। यह सहयोग के लिए विशेष रूप से उपयोगी है। जैसा कि चर्चा हुई, सबसे आम रिमोट रिपॉजिटरी GitHub है।push कर सकते हैं ताकि दूसरे लोग आपके कोड को देख सकें और उस पर सहयोग कर सकें। इसी तरह, आप रिमोट रिपॉजिटरी से pull करके अपने लोकल संस्करण को नवीनतम अपडेट्स से अद्यतन कर सकते हैं।pull के समान, git fetch कमांड आपको रिमोट रिपॉजिटरी से अपडेट प्राप्त करने देता है, लेकिन यह स्वचालित रूप से आपके वर्तमान ब्रांच में बदलावों को मर्ज नहीं करता। इससे आपको इंटीग्रेट करने से पहले बदलावों की समीक्षा करने की लचीलापन मिलती है।git clone कमांड का उपयोग करते हैं। यह आपकी मशीन पर रिपॉजिटरी की सभी फ़ाइलों और इतिहास के साथ नई डायरेक्टरी बनाता है।git log कमांड प्रदान करता है। यह कमिट्स की सूची, उनके यूनिक IDs, और उनसे जुड़े संदेश दिखाता है।इन तकनीकी विवरणों को समझना Git के साथ काम करने की नींव प्रदान करता है। जैसे-जैसे आप इन अवधारणाओं और कमांड्स से अधिक परिचित होते जाते हैं, आप वर्शन कंट्रोल में Git द्वारा लाई गई लचीलापन, शक्ति और दक्षता की और अधिक सराहना करेंगे।
Git दुनिया का सबसे लोकप्रिय वितरित VCS है, और इसने सॉफ्टवेयर डेवलपर्स तथा संबंधित क्षेत्रों में काम करने वालों के प्रोजेक्ट प्रबंधन के तरीके में क्रांति ला दी।
Google से लेकर Netflix तक और बीच की कई कंपनियाँ Git को अपनी टेक स्टैक का मानक हिस्सा मानती हैं। Git की सर्वव्यापकता इतनी स्पष्ट है कि किसी भी सॉफ्टवेयर या कोड-संबंधी प्रोजेक्ट के लिए आप मान सकते हैं कि Git उस प्रक्रिया का हिस्सा है।
यह डेटा के साथ काम करने वाले लोगों, जैसे डेटा एनालिस्ट्स और साइंटिस्ट्स, के लिए भी एक अनिवार्य कौशल है। आखिरकार, हमें उस कोड के वर्ज़निंग का तरीका चाहिए जो हमें इनसाइट्स के लिए डेटा सँभालने और अपने काम में सहायक सॉफ्टवेयर टूल्स बनाने में मदद करता है।
Git व्यवहार में VCS मानक है, और यदि आप IT या किसी संबंधित क्षेत्र में काम करना चाहते हैं, तो यह एक अनिवार्य कौशल है। यद्यपि Git अपनी सादगी के लिए प्रसिद्ध नहीं है, बुनियादी बातें सीखना काफ़ी आसान है, और जैसे-जैसे आप Gitverse में आगे बढ़ते हैं, आप अपने ज्ञान पर निर्माण कर सकते हैं।
DataCamp मदद कर सकता है। हमारा Introduction to Git कोर्स Git की मूल बातें आपको मज़ेदार और आकर्षक तरीके से सिखाने के लिए बनाया गया है। एक बार आप गति पकड़ लें, तो आप अपने कौशल प्रदर्शित करने के लिए GitHub सर्टिफिकेशन लेने के बारे में सोच सकते हैं।
यह जानने के लिए कि दुनिया भर के नौ मिलियन से अधिक शिक्षार्थी DataCamp को क्यों पसंद करते हैं, आज ही अपना पहला Git कोर्स जॉइन करें!
Git एक वितरित वर्शन कंट्रोल सिस्टम है, जिसे सॉफ्टवेयर डेवलपमेंट के दौरान सोर्स कोड में होने वाले बदलावों को ट्रैक करने के लिए डिज़ाइन किया गया है। यह कई डेवलपर्स को एक ही प्रोजेक्ट पर एक-साथ काम करने देता है, यह सुनिश्चित करते हुए कि उनके बदलाव आपस में टकराएँ नहीं।
Git एक वितरित वर्शन कंट्रोल सिस्टम है, यानी हर डेवलपर के पास अपने लोकल मशीन पर प्रोजेक्ट के इतिहास की पूरी कॉपी होती है। यह केंद्रीकृत सिस्टम्स के विपरीत है जहाँ एक एकल, केंद्रीय रिपॉजिटरी होती है जिससे डेवलपर्स चेकआउट करते हैं।
हालाँकि Git मुख्यतः सॉफ्टवेयर डेवलपमेंट से जुड़ा है, इसकी वर्शन कंट्रोल क्षमताएँ दस्तावेज़ीकरण, डिज़ाइन, लेखन, और बहुत कुछ सहित विभिन्न प्रोजेक्ट्स के लिए उपयोगी हो सकती हैं।
Git एक वर्शन कंट्रोल सिस्टम है, जबकि GitHub एक क्लाउड-आधारित प्लेटफ़ॉर्म है जो Git रिपॉजिटरी होस्ट करता है। GitHub बग ट्रैकिंग, टास्क मैनेजमेंट, और सहयोगी टूल्स जैसी अतिरिक्त सुविधाएँ प्रदान करता है।
नहीं, Git के फायदों में से एक यह है कि आप अपनी लोकल रिपॉजिटरी पर ऑफ़लाइन काम कर सकते हैं। आपको केवल तब इंटरनेट कनेक्शन की आवश्यकता होती है जब आप अपने बदलावों को किसी रिमोट रिपॉजिटरी पर पुश करना चाहते हैं या उससे अपडेट्स फ़ेच करना चाहते हैं।
Git में कोड की अखंडता और प्रामाणिकता सुनिश्चित करने के लिए कई बिल्ट-इन तंत्र हैं। कमिट साइनिंग जैसी सुविधाएँ क्रिप्टोग्राफ़िक तरीकों का उपयोग करती हैं ताकि कमिट्स के स्रोत और अखंडता को सत्यापित किया जा सके।
हमारा Introduction to Git कोर्स वर्शन कंट्रोल के लिए Git का उपयोग पूरी तरह समझने की बेहतरीन जगह है।