Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

गिट:सभी शाखाओं को खींचो

गिट आपको एक परियोजना के लिए विकास की कई अलग-अलग पंक्तियों को बनाए रखने देता है। विकास की इन रेखाओं को शाखाएँ कहते हैं। आप किसी शाखा के नवीनतम संस्करण को दूरस्थ रिपॉजिटरी से स्वतंत्र रूप से प्राप्त कर सकते हैं या आप एक ही बार में सभी शाखाओं के नवीनतम संस्करण को पुनः प्राप्त कर सकते हैं।

इस गाइड में, हम इस बारे में बात करते हैं कि रिमोट रिपोजिटरी से परिवर्तन पुनर्प्राप्त करने के लिए 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 से सभी शाखाओं को खींचने के लिए आवश्यक ज्ञान है!


  1. Git नहीं खोल सकता .git/FETCH_HEAD:अनुमति अस्वीकृत समाधान

    गिट को आपके प्रोजेक्ट फ़ोल्डर के अंदर .git/ नामक निर्देशिका में फ़ाइलों पर लिखने की अनुमति की आवश्यकता है। यदि Git कमांड लाइन की इस फ़ोल्डर तक पहुंच नहीं है, तो जब आप किसी फ़ाइल को खींचने का प्रयास करते हैं, तो आपको .git/FETCH_HEAD:अनुमति अस्वीकृत जैसी त्रुटि का सामना करना पड़ेगा। इस गाइड में, हम

  1. गिट डिटैच्ड हेड

    जबकि आप अलग सिर की समस्या का सामना नहीं कर सकते हैं, इसके बारे में जानना महत्वपूर्ण है ताकि आप इससे बच सकें। अनुशंसा के रूप में एक अलग HEAD पर प्रतिबद्ध न हों, लेकिन यदि आप करते हैं, तो हम आपको दिखाएंगे कि आप अपनी प्रतिबद्धताओं को कैसे सहेज सकते हैं। एक अनुस्मारक यह समझने के लिए कि HEAD क्या है, आ

  1. बचाव के लिए गिट रीसेट

    जब आप किसी प्रोजेक्ट पर स्वयं या टीम के हिस्से के रूप में काम कर रहे हों, तो ऐसे उदाहरण हो सकते हैं जब आप किसी कमिट को पूर्ववत करना चाहते हैं। git reset कमांड वास्तविक जीवन रक्षक के रूप में जाने जाने वाले उपकरणों में से एक है। Git का ट्रैकिंग तंत्र git reset में जाने से पहले , हमें गिट की अंतर्न