जब मैं बहुत छोटा था, तो मैं किसी तरह C++ की दुनिया में आ गया और हमेशा से पसंदीदा "हैलो वर्ल्ड" प्रोग्राम तैयार किया। मैंने इसे संकलित किया, इसे निष्पादित किया, और "प्रोग्रामिंग" में सफल प्रयास की पुष्टि करने वाला पॉप-अप प्राप्त किया।
हालाँकि, मैं इससे ज़्यादा आगे कभी नहीं गया क्योंकि 12 साल की उम्र में, मेरी वर्जन कंट्रोल प्रक्रिया....बेकार थी। मैं सोर्स कोड खो देता था, फिर एक हफ़्ते बाद वापस आता और फिर से एक नई फ़ाइल बनाता। मैं C++ के साथ छोटी-छोटी चीज़ों को करके खेलता और प्रगति करता, लेकिन हर बार जब मैं ऐसा करता, तो यह मूल रूप से शुरुआत से शुरू होता क्योंकि मैं अपने सोर्स कोड पर नियंत्रण बनाए रखने में बहुत बुरा था।
कोड के साथ काम करने की आपकी महत्वाकांक्षाओं को हर बार 'बिल्ड' करने पर आपकी सारी प्रगति खोने से ज़्यादा तेज़ी से कोई नहीं मार सकता। इस समस्या का समाधान Git है, या इस मामले में, विशेष रूप से GitHub। अब हम भाग 3 से इस छोटे से टेराफ़ॉर्म डिप्लॉय को लेंगे और VSCode में बिल्ट-इन टर्मिनल पर कुछ बुनियादी Git कमांड का उपयोग करके इसे GitHub में डालेंगे (ऐसा करने के लिए एक VSCode Github एक्सटेंशन है, लेकिन यह सबसे अच्छा है कि आप यह समझें कि इस प्रकार के कार्य को प्राप्त करने के लिए कौन से Git कमांड का उपयोग किया जाता है, इससे पहले कि आप इसे करने के लिए किसी एक्सटेंशन पर निर्भर रहें)।
आप इन चरणों के लिए अपने OS के मूल टर्मिनल (CMD, Powershell, ZSH, जो भी हो) का भी उपयोग कर सकते हैं।
"CTRL + `" दबाकर VSCode में टर्मिनल खोलें (यह एक बैकटिक है, "1" के बाईं ओर छोटी कुंजी)
इस नए टर्मिनल में, सत्यापित करें कि आप सही फ़ाइल निर्देशिका में हैं (यह डिफ़ॉल्ट रूप से होना चाहिए)। अगले चरण में, हम इस फ़ोल्डर में एक Git रेपो आरंभ करेंगे और आपके कोड में परिवर्तनों को ट्रैक करना शुरू करेंगे। यदि यह वह निर्देशिका नहीं है जहाँ आपका कोड है, तो इसे सही निर्देशिका में बदलें।
अब हम Git को इनिशियलाइज़ करना चाहते हैं; ऐसा करने के लिए टाइप करें: git init
Git अब इस निर्देशिका में चल रहा है, हालाँकि, यह किसी भी फ़ाइल (या उन फ़ाइलों में कोड) को ट्रैक नहीं कर रहा है।
Git स्थानीय कोड रिपॉजिटरी के साथ-साथ रिमोट कोड रिपॉजिटरी ("रेपो") का उपयोग कर सकता है। अधिकांश व्यावसायिक सेटिंग्स में, आप Github, Gitlab, Bitbucket, आदि जैसी सेवा के साथ रिमोट रेपो का उपयोग करेंगे... हमें Git को यह बताना होगा कि हम जिस कोड को ट्रैक करने वाले हैं, उसे कहाँ भेजना है। ऐसा करने के लिए, हम git remote add
उपयोग करते हैं।
इसके लिए सिंटैक्स इस प्रकार है: git remote add origin https://github.com/owner/repo_name.git
इसे तोड़ते हुए: git remote add origin
git को “origin” नामक एक रिमोट रिपो जोड़ने और उसके बाद के URL को इस रिमोट रिपो के लिए गंतव्य के रूप में उपयोग करने का निर्देश देता है
मेरे मामले में, मैंने अपने खाते के तहत GitHub पर एक नया (खाली) रेपो बनाया है, इसलिए यह इस तरह दिखता है: git remote add origin https://github.com/wellmadeoldfashioned/YT-single-server-arch-AWS.git
अब, हम git को फ़ाइलों को “ट्रैक” करने के लिए कह सकते हैं। किसी विशिष्ट फ़ाइल को ट्रैक करने के लिए, हम यह कर सकते हैं: git add [filename]
या वर्तमान रेपो में सब कुछ ट्रैक करने के लिए, आप यह कर सकते हैं: git add .
- आमतौर पर स्पष्ट होना और अलग-अलग फ़ाइलें जोड़ना और स्थानीय निर्देशिका में सभी फ़ाइलों को ट्रैक न करना सबसे अच्छा होता है।
आइए अब अपनी terraform फ़ाइल जोड़ें; ऐसा करने के लिए निम्न आदेश जारी करें: git add main.tf
इस बिंदु पर, आपके द्वारा पिछले चरण में जोड़ी गई फ़ाइल या फ़ाइलें अब "स्टेज्ड" हैं - इसका मतलब यह है कि आपने Git को "इन फ़ाइलों की एक प्रतिलिपि लेने के लिए कहा है, जैसी वे अभी हैं और प्रतियों को एक रिपोजिटरी में भेजने के लिए तैयार हो जाओ" (इस मामले में, एक दूरस्थ रिपोजिटरी: Github)।
एक बार जब फाइलें स्टेज हो जाती हैं, तो हमें एक कमिट बनाने की आवश्यकता होती है - इसे अपने विकास प्रगति में एक चेकपॉइंट की तरह समझें जहां आप चेकपॉइंट का वर्णन करते हुए एक संक्षिप्त संदेश जोड़ सकते हैं।
कमिट स्टेज करने के लिए, हम git commit -m “[message_goes_here]”
उपयोग करते हैं - यह परंपरा है कि पहले कमिट पर, आप “प्रारंभिक कमिट” जैसा कुछ उपयोग करते हैं, लेकिन संदेश में क्या शामिल किया जाए, इसके लिए कोई नियम नहीं हैं। आम तौर पर, आप संक्षिप्त और वर्णनात्मक होना चाहते हैं। उदाहरण के लिए, यदि यह एक ऐसा कमिट था जिसने एक वैरिएबल नाम को अपडेट किया, तो हम बस यही कहेंगे कि git commit -m “updated AMI variable to XYZ”
अब जारी करें: git commit -m “initial commit”
- आपको Git से फीडबैक की कुछ पंक्तियाँ प्राप्त होंगी जो इस प्रकार दिखाई देंगी:
यह लगभग पूरा हो चुका है, लेकिन अभी तक पूरा नहीं हुआ है। हमने Git को आरंभीकृत कर दिया है, एक रिमोट रिपो जोड़ दिया है, Git को एक विशिष्ट फ़ाइल को ट्रैक करने का निर्देश दिया है, और रिमोट रिपो के लिए एक कमिट स्टेज किया है, लेकिन हमने अभी तक रिमोट रिपो को कमिट नहीं भेजा है ।
कमिट भेजने के लिए (आपका "चेकपॉइंट" जिसे हमने ऊपर Git कमिट कमांड का उपयोग करके बनाया है), आपको git push [remote-repo-name] [local-branch-name]
जारी करना होगा
रिमोट रिपो नाम का पता लगाने के लिए, हमें चरण 4 पर वापस देखने की आवश्यकता है कि हमने इसे क्या नाम दिया है, इस मामले में, "मूल"। स्थानीय शाखा का नाम पता लगाने के लिए, आप या तो git branch
जारी कर सकते हैं, या यदि आपने इसे इसकी डिफ़ॉल्ट सेटिंग से नहीं बदला है, तो यह मास्टर शाखा के लिए "master" होगा।
जैसा कि आप देख सकते हैं, हम वास्तव में स्थानीय रूप से मास्टर शाखा पर काम कर रहे हैं। इसलिए, कोड को Github पर पुश करने के लिए, हमें यह जारी करना होगा: git push origin master
GitHub पर जाँच करने पर, हम वह कमिट देख सकते हैं जो मैंने अभी भेजा है।
साथ ही वास्तविक प्रतिबद्ध परिवर्तन:
उम्मीद है, यह आपको Git और GitHub के साथ शुरुआत करने में मदद करेगा। इस कार्यशील डेमो में, सरलता के लिए कुछ शॉर्टकट लिए गए थे (जैसे मास्टर शाखा को संरक्षित करने के लिए नई शाखा नहीं बनाना, परिवर्तनों को मर्ज नहीं करना, फ़ॉर्किंग, आदि), लेकिन यह ज्ञान उन चीजों को सीखने का आधार है।
एक बार जब आप इस तरीके से Git का उपयोग करने में सहजता स्थापित कर लेते हैं, तो आपको विभिन्न शाखाओं पर काम करना शुरू कर देना चाहिए, यह समझना चाहिए कि "HEAD" क्या है और इसे कैसे हेरफेर करना है, रिपॉजिटरी को फ़ॉर्क करना, परिवर्तनों को मर्ज करना, आदि...