"आज मैं आपको दो सबसे लोकप्रिय संस्करण नियंत्रण कार्यक्रमों के बारे में बताने जा रहा हूँ: SVN और Git।"

"SVN पिछले पाठ में वर्णित तरीके से लगभग काम करता है। Git थोड़ा अधिक जटिल है, और मैं इसे और अधिक विस्तार से चर्चा करने की योजना बना रहा हूं।"

"क्या आप मुझे एसवीएन और गिट के दस्तावेज के लिंक दे सकते हैं?"

"बेशक, बस एक सेकंड।"

http://svnbook.red-bean.com/hi/1.7/svn-book.html

https://githowto.com  (यह केवल एक उत्कृष्ट कृति है)

"तो, गिट ।"

"यह SVN की तुलना में थोड़ा अधिक जटिल है।  Git के साथ, प्रत्येक उपयोगकर्ता के पास सर्वर रिपॉजिटरी के अलावा उसका अपना स्थानीय रिपॉजिटरी होता है। "

"तो आप कहाँ प्रतिबद्ध हैं?"

"उपयोगकर्ता हमेशा अपने स्थानीय रिपॉजिटरी के लिए प्रतिबद्ध होते हैं।"

"लेकिन सर्वर रिपॉजिटरी के बारे में क्या?"

"स्थानीय और सर्वर रिपॉजिटरी को सिंक्रनाइज़ करने के लिए, विशेष पुल और पुश कमांड हैं

"इसका एक कारण है। कभी-कभी एक प्रोग्रामर को अपने हिस्से पर बहुत काम करने की ज़रूरत होती है, जिसमें साझा रिपॉजिटरी में जोड़े जाने से पहले कई सैकड़ों कमिट शामिल हो सकते हैं।"

"एसवीएन में ऐसा करने के लिए, आपको एक अलग शाखा शुरू करनी होगी और फिर इसे ट्रंक के साथ मर्ज करना होगा।"

"गिट के साथ, आप बस हमेशा स्थानीय रिपॉजिटरी के लिए प्रतिबद्ध होते हैं, और फिर जब आप काम पूरा कर लेते हैं तो सर्वर पर केंद्रीय रिपॉजिटरी में एक बैच के रूप में सभी बदलाव भेजते हैं।"

"जब आप केवल एक छोटा सा कोड लिख रहे होते हैं तो यह तरीका थोड़ा अधिक लग सकता है। लेकिन जब आपके कार्य इतने बड़े होते हैं कि वे हफ्तों तक खिंचते हैं, तो आप समझ जाते हैं कि आप पूरे समय को बिना कमिट किए नहीं लिख सकते।"

"आप केवल दो सप्ताह के लिए काम क्यों नहीं कर सकते, और फिर एक बार सर्वर में अपने परिवर्तन कर सकते हैं?"

"ठीक है, एक संस्करण नियंत्रण कार्यक्रम बहुत सारी सुविधाएं प्रदान करता है।"

"कल्पना करें कि आप हर दिन प्रतिबद्ध हैं, और 10वें दिन आपको पता चलता है कि पिछले दो दिनों में किए गए परिवर्तन योजना के अनुसार काम नहीं करेंगे। और आप 8वें दिन के कोड पर वापस जाना चाहते हैं और कार्य को पूरा करना चाहते हैं अलग।"

"आप बस पिछले दो दिनों में स्थानीय रिपॉजिटरी में किए गए परिवर्तनों को वापस ले लें और वांछित स्थिति में लौट आएं। इसे रोलबैक ऑपरेशन के रूप में जाना जाता है।"

"आप मुझे बता रहे हैं कि आप ऐसा कर सकते हैं?"

"हां। इसके अलावा, क्योंकि प्रतिबद्ध इतिहास संग्रहीत है, आप पता लगा सकते हैं कि कब और क्यों कुछ किया गया था, और किसके द्वारा, प्रासंगिक सुविधाओं/बग, और कौन सी दस फाइलों को एक साथ इस काम के हिस्से के रूप में संशोधित किया गया था।"

"मान लें कि किसी का बग फिक्स किसी और के कोड को तोड़ देता है। आप बस कोड को वापस ( रोलबैक ) कर सकते हैं और आगे बढ़ सकते हैं जैसे कि परिवर्तन कभी नहीं हुआ।"

"ठीक है, यह अच्छा है। मैं आश्वस्त हूं। क्या आप मुझे कुछ उदाहरण दिखा सकते हैं जो बताते हैं कि यह सब कैसे काम करता है?"

"ज़रूर।"

"यहां बताया गया है कि आप केंद्रीय भंडार को अपने स्थानीय कंप्यूटर पर कैसे क्लोन करते हैं :"

कमिट और ब्रांच - 1

"तो, चेकआउट ऑपरेशन की अब आवश्यकता नहीं है।"

"हां। और यहां पुश ऑपरेशंस के उदाहरण हैं:"

कमिट और ब्रांच - 2

"और पुल संचालन:

कमिट और ब्रांच - 3

"आह। वह कमोबेश समझ में आता है।"

"वैसे, GitHub नाम की एक बढ़िया सेवा है।"

"कोई भी प्रोग्रामर वहां पंजीकरण कर सकता है और अपनी स्वयं की Git रिपॉजिटरी बना सकता है। मेरा सुझाव है कि आप इससे अधिक परिचित हों।"

"यहाँ कुछ उपयोगी लिंक हैं:"

https://githowto.com

https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

https://articles.assembla.com/use-git/getting-started/set-up-git-on-windows-with-tortoisegit

"ध्यान दें कि काफी गिट क्लाइंट हैं।"

"सबसे पहले, GitBash है   , जो आपको टेक्स्ट कमांड दर्ज करने देता है।"

"फिर TortoiseGit है , जो कि विंडोज एक्सप्लोरर में बनाया गया एक अच्छा प्रोग्राम है। यह आपको सीधे एक्सप्लोरर में गिट रिपॉजिटरी में फाइलों के साथ काम करने देता है।"

"IntelliJ IDEA Git का समर्थन करता है और आपको पर्यावरण के भीतर से सीधे कुछ ही क्लिक के साथ सभी प्रकार के जटिल कमांड निष्पादित करने देता है।"

"तो, मुझे कौन सा सीखना चाहिए?"

"मैं अनुशंसा करता हूं कि आप उन सभी को जान लें।"

"आप अपना साक्षात्कार पास करेंगे और काम पर पहुंचेंगे। आपको Git का एक लिंक, एक लॉगिन और पासवर्ड मिलेगा - और बस इतना ही। फिर आप अपने दम पर हैं।"

"तुम्हारा क्या मतलब है, «अपने दम पर»?"

"मेरा मतलब है कि आप अपने आप से गिट स्थापित करेंगे, रिपॉजिटरी की एक प्रति अपने आप खींच लेंगे ..."

"और फिर आपको प्रोजेक्ट बनाने और चलाने की कोशिश करनी होगी।"

"प्रोजेक्ट प्रलेखन के साथ-साथ निर्माण निर्देश भी गिट रिपॉजिटरी में होने की संभावना है।"

"आपकी टीम का नेतृत्व शाम को आपके पास आएगा और कहेगा,  " अच्छा, आपने अब तक क्या पता लगाया है?» "

"और आप कहेंगे, 'मैं यहां गिट स्थापित करने की कोशिश कर रहा हूं, लेकिन अभी तक कोई सफलता नहीं मिली है। « आप मुझे निकालने नहीं जा रहे हैं, है ना?» "

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

"क्या आप अंतर महसूस कर सकते हैं?"

"हां। दूसरे मामले में, मैं एक सुपर रॉक-स्टार प्रोग्रामर हूं, लेकिन पहले में, मैं कुछ रोबो-डूफस हूं, जो यह भी नहीं जानता कि गिट से प्रोजेक्ट कैसे निकाला जाए। दूसरे शब्दों में, मैंने पंगा लिया प्रोग्रामिंग शुरू करने से पहले ही। मुझे लगता है कि उसके बाद वे मुझे कोड लिखने भी नहीं देंगे।"

"देखिए, आपने अपने सवालों का जवाब खुद दिया है। इसलिए अध्ययन करें और इसका पता लगाएं। कोई भी आपके लिए ऐसा नहीं करेगा।"

"तुम मेरी मदद नहीं करने जा रहे हो?"

"मैंने पहले ही मदद कर दी है। अगर आप भूल गए हैं तो हम यहां जावा सिखा रहे हैं। बाकी सब कुछ के लिए, आप अपने दम पर हैं। या आपका सिर सिर्फ पीने के लिए है?"

"ठीक है, मैं समझ गया। धन्यवाद, बिलाबो!"