गिट आपको एक परियोजना के लिए विकास की कई अलग-अलग पंक्तियों को बनाए रखने देता है। विकास की इन रेखाओं को शाखाएँ कहते हैं। आप किसी शाखा के नवीनतम संस्करण को दूरस्थ रिपॉजिटरी से स्वतंत्र रूप से प्राप्त कर सकते हैं या आप एक ही बार में सभी शाखाओं के नवीनतम संस्करण को पुनः प्राप्त कर सकते हैं।
इस गाइड में, हम इस बारे में बात करते हैं कि रिमोट रिपोजिटरी से परिवर्तन पुनर्प्राप्त करने के लिए git fetch -all और git pull -all कमांड का उपयोग कैसे करें।
ब्रांचिंग क्या है?
मान लीजिए कि हम एक ब्लॉग वेबसाइट पर काम कर रहे हैं। हम ब्लॉग में एक विशेषता जोड़ने जा रहे हैं जो उपयोगकर्ताओं को टिप्पणी करने देती है। हम नहीं चाहते कि यह सुविधा हमारे प्रोजेक्ट के मुख्य संस्करण का हिस्सा बने क्योंकि हम अभी भी इस पर काम कर रहे हैं।
हम इसके लिए एक गिट शाखा का उपयोग कर सकते हैं। हम अपने कमेंटिंग फीचर के लिए सभी कोड को स्टोर करने के लिए "टिप्पणियां" नामक एक शाखा बना सकते हैं। यह हमें किसी वेबसाइट पर तैनात हमारे कोडबेस के मुख्य संस्करण को बदले बिना हमारी टिप्पणी करने की सुविधा पर काम करने देगा।
शाखाओं को स्थानीय या दूरस्थ रूप से संग्रहीत किया जा सकता है। यदि आप किसी प्रोजेक्ट के स्थानीय संस्करण पर काम कर रहे हैं, तो एक शाखा स्थानीय होगी। दूरस्थ शाखाओं को किसी प्रोजेक्ट के मुख्य संस्करण के साथ संग्रहीत किया जाता है।
Git:सभी शाखाओं को प्राप्त करें
हम ब्लॉग-साइट नामक एक प्रोजेक्ट पर काम कर रहे हैं। इस परियोजना में दो शाखाएँ हैं:मूल गुरु और मूल देव।
देव शाखा में वे सभी प्रायोगिक विशेषताएं हैं जिनके साथ हम काम कर रहे हैं। हमें लगता है कि किसी अन्य सहयोगी ने दोनों शाखाओं में बदलाव किए हैं। हम किसी भी बदलाव के लिए मेटाडेटा को सुनिश्चित करना और पुनर्प्राप्त करना चाहते हैं यदि वे किए गए हैं।
हम इसे फ़ेच कमांड का उपयोग करके कर सकते हैं। फ़ेच कमांड नवीनतम अपडेट पर एक दूरस्थ शाखा से मेटाडेटा को पुनः प्राप्त करने के लिए Git को बताता है। फ़ेच कमांड रिपॉजिटरी के स्थानीय संस्करण में संग्रहीत फ़ाइलों को अपडेट नहीं करता है।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
सभी दूरस्थ शाखाओं को ट्रैक करने और उन शाखाओं के लिए मेटाडेटा प्राप्त करने के लिए, हम -all ध्वज के साथ git fetch कमांड का उपयोग कर सकते हैं:
git fetch --all
यह आदेश लौटाता है:
Fetching origin remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From https://github.com/career-karma-tutorials/blog-site 3fcea0c..da74d68 dev -> origin/devसे
फ़ेच कमांड ने हमारे रिमोट रिपॉजिटरी में किए गए सभी परिवर्तनों को प्राप्त कर लिया है। फ़ेच कमांड जानता है कि हमारी दूरस्थ देव शाखा में ऐसे परिवर्तन हैं जो हमारे स्थानीय मशीन पर नहीं हैं। हमने अभी उन कमिट्स के लिए मेटाडेटा पुनर्प्राप्त किया है।
हम गिट फ़ेच मूल <branch-name>
का उपयोग करके एक व्यक्तिगत शाखा के लिए मेटाडेटा पुनर्प्राप्त कर सकते हैं आदेश।
Git:सभी शाखाओं को खींचो
क्या होगा यदि आप अपनी स्थानीय वर्किंग कॉपी को अपडेट करना चाहते हैं और साथ ही मेटाडेटा को पुनः प्राप्त करना चाहते हैं? यहीं से git pull कमांड काम आता है।
अब हम जानते हैं कि हमारे भंडार में परिवर्तन किए गए हैं। हम इन परिवर्तनों को अपने स्थानीय भंडार में विलय करके खुश हैं। हमारे स्थानीय मशीन में परिवर्तन डाउनलोड करने के लिए, हमें git pull कमांड का उपयोग करने की आवश्यकता है:
git pull --all
हमने यह इंगित करने के लिए –all ध्वज का उपयोग किया है कि हम प्रत्येक शाखा से परिवर्तन प्राप्त करना चाहते हैं। हमारा आदेश लौटता है:
Fetching origin remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From https://github.com/career-karma-tutorials/blog-site 3fcea0c..da74d68 dev -> origin/dev Updating 3fcea0c..da74d68 Fast-forward README.md | 1 + 1 file changed, 1 insertion(+)
परिवर्तनों की जांच के लिए git पुल कमांड पहले git fetch कमांड चलाता है। फ़ेच ऑपरेशन हमारे कमिट के लिए मेटाडेटा लौटाता है। फिर, गिट पुल कमांड हमारे रिमोट रिपोजिटरी में किए गए सभी परिवर्तनों को पुनर्प्राप्त करता है और हमारी स्थानीय फाइलों को बदलता है।
हम देख सकते हैं कि हमारे रिमोट रिपोजिटरी पर README.md फाइल बदली गई थी। अब जब हमने एक पुल ऑपरेशन चलाया है, तो हमारे पास हमारी स्थानीय मशीन में बदलाव है।
एक शाखा से कोड प्राप्त करने के लिए, हम git pull origin
निष्कर्ष
git fetch -all कमांड एक रिपॉजिटरी में सभी शाखाओं में किए गए प्रत्येक परिवर्तन पर मेटाडेटा को पुनः प्राप्त करता है। गिट पुल-ऑल कमांड आपकी स्थानीय मशीन पर सभी शाखाओं में किए गए सभी परिवर्तनों को डाउनलोड करता है।
अब आपके पास एक समर्थक की तरह Git से सभी शाखाओं को खींचने के लिए आवश्यक ज्ञान है!