Git का परिचय: यह क्या है, और इसका उपयोग कैसे करें

अंकलश पर मार्कस स्पिस्के द्वारा फोटो

Git एक ओपन सोर्स डिस्ट्रीब्यूटेड वर्जन कंट्रोल सिस्टम है। Git को परिभाषित करने के लिए अब बहुत सारे शब्द हैं।

मुझे इसे तोड़ने और शब्दों को समझाने के लिए:

  • नियंत्रण प्रणाली: इसका मूल अर्थ यह है कि गिट एक कंटेंट ट्रैकर है। तो Git का उपयोग सामग्री को संग्रहीत करने के लिए किया जा सकता है - इसका उपयोग ज्यादातर कोड को प्रदान करने वाली अन्य विशेषताओं के कारण किया जाता है।
  • संस्करण नियंत्रण प्रणाली: जिस कोड को Git में संग्रहीत किया जाता है वह अधिक कोड जोड़े जाने के रूप में बदलता रहता है। इसके अलावा, कई डेवलपर्स समानांतर में कोड जोड़ सकते हैं। इसलिए संस्करण नियंत्रण प्रणाली इतिहास को बनाए रखने में मदद करती है कि इसमें क्या बदलाव हुए हैं। इसके अलावा, गिट शाखाओं और मर्ज जैसी विशेषताएं प्रदान करता है, जिन्हें मैं बाद में कवर करूंगा।
  • वितरित संस्करण नियंत्रण प्रणाली: Git में एक दूरस्थ रिपॉजिटरी होती है जो एक सर्वर और एक स्थानीय रिपॉजिटरी में संग्रहीत होती है जो प्रत्येक डेवलपर के कंप्यूटर में संग्रहीत होती है। इसका मतलब है कि कोड को केवल एक केंद्रीय सर्वर में संग्रहीत नहीं किया गया है, लेकिन सभी डेवलपर्स के कंप्यूटर में कोड की पूरी प्रतिलिपि मौजूद है। Git एक वितरित संस्करण नियंत्रण प्रणाली है क्योंकि कोड हर डेवलपर के कंप्यूटर में मौजूद होता है। मैं इस लेख में बाद में दूरस्थ और स्थानीय रिपोजिटरी की अवधारणा को समझाऊंगा।

Git जैसे वर्जन कंट्रोल सिस्टम की आवश्यकता क्यों है

वास्तविक जीवन परियोजनाओं में आम तौर पर कई डेवलपर्स समानांतर में काम करते हैं। तो यह सुनिश्चित करने के लिए Git जैसी एक संस्करण नियंत्रण प्रणाली की आवश्यकता है ताकि डेवलपर्स के बीच कोई कोड विरोध न हो।

इसके अतिरिक्त, ऐसी परियोजनाओं में आवश्यकताएं अक्सर बदलती रहती हैं। इसलिए एक संस्करण नियंत्रण प्रणाली डेवलपर्स को कोड के पुराने संस्करण पर वापस जाने और वापस जाने की अनुमति देती है।

अंत में, कभी-कभी कई परियोजनाएं जो समानांतर में चल रही हैं, उनमें समान कोडबेस शामिल हैं। ऐसे में, Git में ब्रांचिंग की अवधारणा बहुत महत्वपूर्ण है।

चलो अब Git का उपयोग करना शुरू करते हैं

एक बार में सभी अवधारणाओं का उल्लेख करने के बजाय, मैं एक उदाहरण के माध्यम से Git की अवधारणाओं को समझाऊंगा ताकि इसका पालन करना आसान हो।

Git डाउनलोड करें

इस लिंक में कई ऑपरेटिंग सिस्टमों में गिट को कैसे स्थापित किया जाए, इस पर विवरण दिया गया है:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

यदि कमांड प्रॉम्प्ट में निम्नलिखित कमांड का उपयोग करके Git स्थापित है, तो सत्यापित करें:

गिट - हार

अपना स्थानीय गिट रिपॉजिटरी बनाएं

अपने कंप्यूटर में, अपने प्रोजेक्ट के लिए एक फ़ोल्डर बनाएँ। चलो प्रोजेक्ट फ़ोल्डर को सरल-गिट-डेमो कहते हैं।

अपने प्रोजेक्ट फ़ोल्डर में जाएं और निम्न कमांड का उपयोग करके प्रोजेक्ट में एक स्थानीय Git रिपॉजिटरी जोड़ें:

सीडी सरल-गिट-डेमो
git init

Git init कमांड प्रोजेक्ट में एक स्थानीय Git रिपॉजिटरी जोड़ता है।

अब कुछ छोटे कोड जोड़ें

प्रोजेक्ट फोल्डर में एक फाइल बनाएं जिसका नाम Demo.txt है और इसमें निम्न टेक्स्ट जोड़ें:

प्रारंभिक सामग्री

यहां हम वास्तविक कोड के बजाय सिर्फ सादे पाठ के साथ प्रदर्शन करेंगे, क्योंकि इस लेख का मुख्य ध्यान Git पर है और किसी भी अन्य प्रोग्रामिंग भाषा पर नहीं।

कोड को चरणबद्ध और प्रतिबद्ध करना

कमिटिंग वह प्रक्रिया है जिसमें स्थानीय रिपॉजिटरी में कोड जोड़ा जाता है। कोड करने से पहले, इसे स्टेजिंग क्षेत्र में होना चाहिए। मंचन क्षेत्र उन सभी फाइलों पर नज़र रखने के लिए है जो प्रतिबद्ध हैं।

कोई भी फ़ाइल जो स्टेजिंग क्षेत्र में नहीं जोड़ी गई है, वह प्रतिबद्ध नहीं होगी। यह डेवलपर को नियंत्रित करता है कि किन फाइलों पर प्रतिबद्ध होने की जरूरत है।

मचान

फ़ाइल के मंचन के लिए निम्न कमांड का उपयोग करें:

git add Demo.txt

यदि आप ऐसी कई फाइलें जोड़ना चाहते हैं, जिनका आप उपयोग कर सकते हैं:

git add11 file2 file3 जोड़ें

यदि आप अपने प्रोजेक्ट फ़ोल्डर के अंदर सभी फ़ाइलों को स्टेजिंग क्षेत्र में जोड़ना चाहते हैं, तो निम्न कमांड का उपयोग करें:

जोड़ देना।

इसे सावधानी से उपयोग करें क्योंकि यह आपके प्रोजेक्ट की सभी फ़ाइलों और फ़ोल्डरों को स्टेजिंग क्षेत्र में जोड़ता है।

करने से

फ़ाइल बनाने के लिए निम्न कमांड का उपयोग करें:

git कमिट - m "इनिशियल कमिट"

“इनिशियल कमिट” यहाँ का प्रतिबद्ध संदेश है। उस विशिष्ट प्रतिबद्ध में क्या कोड परिवर्तन किए गए थे, यह इंगित करने के लिए एक प्रासंगिक प्रतिबद्ध संदेश डालें

Git स्टेटस और Git लॉग

अब Demo.txt फ़ाइल को संशोधित करें और निम्नलिखित स्निपेट जोड़ें:

प्रारंभिक सामग्री
अधिक सामग्री जोड़ना

स्थिति

मचान स्थिति के बारे में जानकारी प्राप्त करने के लिए गिट स्थिति का उपयोग करें और मचान क्षेत्र में क्या फाइलें हैं - यह अन्य जानकारी भी दिखाता है, जिसे हम अभी के लिए अनदेखा कर सकते हैं।

स्थिति देखने के लिए निम्न आदेश का उपयोग करें:

गिट स्थिति

स्थिति दिखाती है कि Demo.txt संशोधित है और अभी तक स्टेजिंग क्षेत्र में नहीं है।

अब हम स्टेजिंग क्षेत्र में डेमो टाइप करें और निम्नलिखित कमांड्स का उपयोग करके इसे प्रतिबद्ध करें:

git add Demo.txt
git कमिट-मी "डेमो.टेक्स फाइल संशोधित है"

लॉग

अब तक किए गए सभी कमिटों को प्रिंट करने के लिए git log का उपयोग करें।

इसके लिए इस्तेमाल किया जाने वाला कमांड है:
गिट लॉग

लॉग प्रत्येक कमिट के लेखक, कमिट की तारीख और कमिट मैसेज को दिखाता है।

शाखाओं

अब तक हमने Git में कोई शाखा नहीं बनाई है। डिफ़ॉल्ट रूप से, Git कमिट मास्टर शाखा में जाता है।

शाखा क्या है?

गेट रिपॉजिटरी में नवीनतम प्रतिबद्ध के लिए एक शाखा एक संकेतक के अलावा कुछ भी नहीं है। इसलिए वर्तमान में हमारी मास्टर ब्रांच दूसरी कमिटमेंट के लिए पॉइंटर है।

कई शाखाओं की आवश्यकता क्यों है?

एकाधिक समानांतर विकास का समर्थन करने के लिए कई शाखाओं की आवश्यकता होती है। नीचे दी गई छवि देखें कि शाखाएँ कैसे काम करती हैं।

प्रारंभ में, मास्टर शाखा में 1 और प्रतिबद्ध 2 किए गए थे। प्रतिबद्ध 2 के बाद "टेस्ट" नामक एक नई शाखा बनाई जाती है, और 3 और प्रतिबद्ध 4 को परीक्षण शाखा में जोड़ा जाता है।

इसी समय, एक अलग प्रतिबद्ध 3 और प्रतिबद्ध 4 मास्टर शाखा में जोड़ दिए जाते हैं। यहां हम देख सकते हैं कि कमिट 2 के बाद, दो अलग-अलग शाखाओं में दो समानांतर विकास किए जा रहे हैं।

टेस्ट ब्रांच और मास्टर ब्रांच ने यहां डायवर्ट किया है और अलग-अलग कोड हैं - टेस्ट ब्रांच के कोड को मास्टर मर्ज का उपयोग करके मास्टर ब्रांच में मर्ज किया जा सकता है। इसे बाद में कवर किया जाएगा।

स्थानीय में एक नई शाखा बनाएँ

निम्नलिखित कमांड का उपयोग करके परीक्षण नामक एक नई शाखा बनाएँ:

git शाखा परीक्षण

यह कमांड परीक्षण शाखा बनाता है।

हम अभी भी मास्टर शाखा के संदर्भ में हैं। परीक्षण शाखा में स्विच करने के लिए। निम्नलिखित आदेश का उपयोग करें:

git चेकआउट टेस्ट

अब हम परीक्षण शाखा में हैं।

आप निम्नलिखित कमांड का उपयोग करके स्थानीय सभी शाखाओं को सूचीबद्ध कर सकते हैं:

गिट शाखा

न्यू ब्रांच में कुछ कमिट करें

निम्नलिखित स्निपेट को जोड़कर Demo.txt को संशोधित करें:

प्रारंभिक सामग्री
अधिक सामग्री जोड़ना
परीक्षण शाखा से कुछ सामग्री जोड़ना

अब निम्न आदेशों का उपयोग करके चरणबद्ध और प्रतिबद्ध करें:

git add Demo.txt
git कमिट-मी "टेस्ट ब्रांच कमिट"

यह प्रतिबद्धता टेस्ट शाखा में की गई थी, और अब टेस्ट शाखा 1 प्रतिबद्ध द्वारा मास्टर शाखा से आगे है - क्योंकि परीक्षण शाखा में मास्टर शाखा से 2 कमिट भी शामिल हैं।

आप परीक्षण शाखा में प्रतिबद्ध इतिहास का उपयोग करके सत्यापित कर सकते हैं:

गिट लॉग

विलय

वर्तमान में, टेस्ट ब्रांच 1 प्रतिबद्ध द्वारा मास्टर से आगे है। बता दें कि अब हम चाहते हैं कि टेस्ट शाखा के सभी कोड मास्टर शाखा में वापस लाए जाएं। यह वह जगह है जहाँ गिट मर्ज बहुत उपयोगी है।

कोड को परीक्षण शाखा से मास्टर शाखा में मर्ज करने के लिए, इन चरणों का पालन करें:

पहले मास्टर शाखा में वापस जाएं:

गिट चेकआउट मास्टर

फिर मर्ज कमांड चलाएँ:

git मर्ज टेस्ट

इन 2 आदेशों को चलाने के बाद, मर्ज सफल होना चाहिए। इस उदाहरण में, कोई विरोध नहीं हैं।

लेकिन वास्तविक परियोजनाओं में, एक विलय होने पर संघर्ष होगा। संघर्ष को हल करना एक ऐसी चीज है जो अनुभव के साथ आती है, इसलिए जैसे-जैसे आप गिट के साथ अधिक काम करते हैं, आप उलझनों को हल करने में सक्षम हो जाएंगे।

अब लॉग लॉग रन करें और आप देखेंगे कि मास्टर के पास भी 3 कमिट हैं।

रिमोट गिट रिपोजिटरी

अब तक, हम केवल स्थानीय भंडार में काम कर रहे हैं। प्रत्येक डेवलपर अपने स्थानीय रिपॉजिटरी में काम करेगा लेकिन अंततः, वे कोड को दूरस्थ रिपॉजिटरी में धकेल देंगे। एक बार कोड दूरस्थ रिपॉजिटरी में होता है, अन्य डेवलपर्स उस कोड को देख और संशोधित कर सकते हैं।

दूरस्थ और स्थानीय रिपॉजिटरी दिखा रहा है

GitHub

यहाँ हम दूरस्थ रिपॉजिटरी के लिए GitHub का उपयोग करेंगे।

Https://github.com/ पर जाएं और अकाउंट बनाएं।

GitHub होमपेज में पंजीकरण करने के बाद, एक नया Git रिपॉजिटरी बनाने के लिए प्रोजेक्ट शुरू करें पर क्लिक करें। रिपॉजिटरी को एक नाम दें और "रिपोजिटरी बनाएं" पर क्लिक करें

नाम को गिट-ब्लॉग-डेमो के रूप में दें।

यह GitHub में एक रिमोट रिपॉजिटरी बनाएगा, और जब आप रिपॉजिटरी खोलेंगे, तो नीचे दी गई इमेज जैसा पेज खुलेगा:

रिपॉजिटरी URL हाइलाइट किया गया हिस्सा है https://github.com/aditya-sridhar/git-blog-demo.it

दूरस्थ रिपॉजिटरी में अपने स्थानीय भंडार को इंगित करने के लिए, निम्नलिखित कमांड का उपयोग करें:

git रिमोट ऐड ओरिजिन [रिपॉजिटरी url]

पुश पुश

दूरस्थ रिपॉजिटरी में स्थानीय भंडार से सभी कोड को पुश करने के लिए, निम्नलिखित कमांड का उपयोग करें:

git push -u मूल गुरु

यह स्थानीय भंडार में मास्टर शाखा से दूरस्थ शाखा में मास्टर शाखा में कोड को आगे बढ़ाता है।

अतिरिक्त कमांड

गिट पुल

git पुल का उपयोग दूरस्थ भंडार से नवीनतम परिवर्तनों को स्थानीय भंडार में खींचने के लिए किया जाता है। दूरस्थ रिपॉजिटरी कोड विभिन्न डेवलपर्स द्वारा लगातार अपडेट किया जाता है, इसलिए गिट पुल आवश्यक है:

git पुल ओरिजिनल मास्टर

Git क्लोन

git क्लोन का उपयोग आपके कंप्यूटर में मौजूदा दूरस्थ रिपॉजिटरी को क्लोन करने के लिए किया जाता है। इसके लिए कमांड है:

git क्लोन [रिपॉजिटरी url]

बधाई

अब आप जानते हैं कि Git का उपयोग कैसे करना है, की मूल बातें, इसलिए आगे बढ़ें और अधिक अन्वेषण करें!

मैं जल्द ही Git की थोड़ी और उन्नत अवधारणाओं पर एक और लेख प्रकाशित करूंगा। बने रहें!

लेखक के बारे में

मैं प्रौद्योगिकी से प्यार करता हूं और प्रौद्योगिकी में प्रगति का पालन करता हूं। मुझे प्रौद्योगिकी के क्षेत्र में किसी भी ज्ञान के साथ दूसरों की मदद करना भी पसंद है।

मेरे लिंकडाउन अकाउंट https://www.linkedin.com/in/aditya1811/ पर मेरे साथ जुड़ने के लिए स्वतंत्र महसूस करें

आप मुझे ट्विटर https://twitter.com/adityasridhar18 पर भी फॉलो कर सकते हैं

मेरी वेबसाइट: https://adityasridhar.com/

मेरे द्वारा अन्य पोस्ट

Git का कुशलता से उपयोग कैसे करें