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

क्या गिट करता है

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

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

कैसे गिट काम करता है

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

वैकल्पिक रूप से, आप अपने स्थानीय गिट भंडार को बाहरी होस्ट, जैसे कि GitHub.com पर धक्का दे सकते हैं। यह एक परियोजना पर कई योगदानकर्ताओं को लगातार, तेजी से अपने स्थानीय रेपो में सक्षम होने की अनुमति देता है, फिर उन सभी स्थानीय गतिविधियों को ऑनलाइन भंडार में एक ही अपडेट में बंडल करता है। यह उन चीजों में से एक है जो गिट को कुछ अन्य वीसीएस सिस्टमों के मुकाबले तेजी से उपयोग करने में मदद करता है: आप समय और बैंडविड्थ को बर्बाद किए बिना अपने स्थानीय भंडार में अक्सर प्रतिबद्ध हो सकते हैं, प्रत्येक के लिए प्रत्येक सर्वर पर अपलोड करना पड़ता है।

गिट प्राप्त करना

अधिकांश लिनक्स उपयोगकर्ताओं को गिट (या गिट-कोर ) उनके डिस्ट्रो के मानक भंडारों में उपलब्ध होना चाहिए। उबंटू उपयोगकर्ता इसे यहां क्लिक करके या टर्मिनल में इंस्टॉल कर सकते हैं:

 sudo apt-git-core स्थापित करें 

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

गिट का उपयोग करना

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

 गिट init 

यह आपकी रिपोजिटरी जानकारी रखने के लिए .git निर्देशिका बनाएगा। शायद, आप कुछ फाइलें जोड़ना शुरू करना चाहेंगे। हम एक नमूना रीडमे फ़ाइल बनाकर शुरू करेंगे, इसे फाइलों की रिपोजिटरी की सूची में जोड़ने के लिए, फिर हमारी फाइल को भंडार में ले जाया जाएगा।

 # कुछ पाठ को एक नई फ़ाइल में डालें "TODO: दस्तावेज़ बनाएं"> README.txt # अब इस फ़ाइल के परिवर्तनों का ट्रैक रखने के लिए गिट को बताएं # यह केवल प्रति फ़ाइल एक बार किया जाना चाहिए (अधिक #on कि एक पल में) गिट README.txt जोड़ें # और अब राज्य को गिट रिपोजिटरी गिट को README.txt प्रतिबद्ध करें 

आपको एक टेक्स्ट एडिटर स्क्रीन पर लाया जाएगा (बिल्कुल कौन सा टेक्स्ट एडिटर आपके डिस्ट्रो और कॉन्फ़िगरेशन पर निर्भर करता है) जहां आपको इस प्रतिबद्धता के बारे में कोई नोट दर्ज करना चाहिए। ये आमतौर पर अंतिम प्रतिबद्धता के बाद हुए परिवर्तनों के संक्षिप्त सारांश होते हैं। एक बार जब आप टेक्स्ट एडिटर को सेव करते हैं और बाहर निकलते हैं तो प्रतिबद्धता सफलतापूर्वक पूरी की जानी चाहिए।

हमने अनिवार्य रूप से उस फ़ाइल की वर्तमान स्थिति का एक स्नैपशॉट बनाया है। कोई और परिवर्तन (जो आप प्रतिबद्ध करते हैं) उस के शीर्ष पर सहेजा जाएगा।

ऊपर दिए गए उदाहरण में व्यक्तिगत रूप से प्रत्येक फ़ाइल को जोड़ना और करना कठिन हो सकता है। इसका समाधान करने के लिए, आप इसके बजाय मौजूदा निर्देशिका में सभी फाइलें जोड़ सकते हैं

 # पीछे की ओर ध्यान दें "।" गिट जोड़ें 

और आप सभी ज्ञात, बदली गई फ़ाइलों को एक साथ साथ कर सकते हैं

 गिट प्रतिबद्धता-ए 

कुछ अन्य आसान गिट कमांड विकल्पों में शामिल हैं:

 # मौजूदा रिपोजिटरी का एक पूर्ण क्लोन बनाएं, जैसे सॉफ्टवेयर प्रोजेक्ट गिट क्लोन (यूआरएल, यानी गिट: //github.com/github/linux-2.6.git) की वेबसाइट से # फ़ाइल को ले जाएं / नाम बदलें। यह आपको फ़ाइल को हटाने और फिर से जोड़ने से रोकता है # अगर इसे बैश गिट एमवी (स्रोत) (गंतव्य) द्वारा स्थानांतरित किया गया था # फ़ाइल हटाएं और गिट रेपो गिट आरएम (लक्ष्य) से हटाएं # इस भंडार गिट में शाखाएं देखें शाखा # गिट पेड़ गिट शाखा (नई शाखा का नाम, यानी "प्रयोगात्मक") की एक नई शाखा बनाएं # एक शाखा से दूसरी गिट चेकआउट (शाखा का नाम, यानी "प्रयोगात्मक") # मिर्ज शाखा (शाखा) वर्तमान पेड़ गिट में स्विच करें विलय (शाखा) 

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