git clone --single-branch --branch कमांड एक विशिष्ट ब्रांच को क्लोन करता है। यह कमांड आपको रिपॉजिटरी पर सभी ब्रांचेज़ को डाउनलोड किए बिना रिपॉजिटरी की सामग्री की एक कॉपी करने देती है। यह उपयोगी है यदि रिपॉजिटरी बड़ी है और आप केवल उस कोड को डाउनलोड करना चाहते हैं जिसका आप उपयोग करेंगे।
डिफ़ॉल्ट रूप से, git clone कमांड Git रिपॉजिटरी से सभी ब्रांचेज़ को डुप्लिकेट करती है। केवल एक विशिष्ट ब्रांच को क्लोन करने के लिए, आपको git clone कमांड के साथ --single-branch फ्लैग का उपयोग करना होगा।
इस गाइड में, हम चर्चा करते हैं कि git clone कमांड का उपयोग करके Git का उपयोग करके एक विशिष्ट ब्रांच को कैसे क्लोन किया जाए। हम आपके सीखने को सुदृढ़ करने में मदद करने के लिए एक उदाहरण के माध्यम से चलते हैं।
क्लोनिंग क्या है?
क्लोनिंग आपको किसी अन्य जगह होस्ट किए गए रिपॉजिटरी की एक कॉपी को अपनी स्थानीय मशीन पर सहेजने देती है। आप git clone कमांड का उपयोग करके एक रिपॉजिटरी को क्लोन कर सकते हैं।
git clone कमांड का मतलब है कि एक Git वर्जन कंट्रोल सर्वर को वेब इंटरफ़ेस प्रदान करने की आवश्यकता नहीं है। आप कमांड लाइन से Git रिपॉजिटरी की एक कॉपी डाउनलोड कर सकते हैं।
एक विशिष्ट ब्रांच को क्लोन करना रिपॉजिटरी के आपके उपलब्ध डिस्क स्पेस पर प्रभाव को कम करने का एक सामान्य तरीका है। ऐसा इसलिए है क्योंकि आप प्रोजेक्ट पर सभी ब्रांचेज़ को क्लोन नहीं करेंगे। यदि आप बाद में पता चलता है कि आपको एक ऐसी ब्रांच की आवश्यकता है जिसे आपने डाउनलोड नहीं किया है, तो आप हमेशा एक ब्रांच को बाद में डाउनलोड कर सकते हैं।
Git: विशिष्ट ब्रांच क्लोन करें
git clone --single-branch --branch कमांड एक Git रिपॉजिटरी से एक विशिष्ट ब्रांच को क्लोन करता है। --branch कमांड के बाद आपके द्वारा क्लोन की जाने वाली ब्रांच का नाम निर्दिष्ट करें। आप हमेशा किसी भी अन्य ब्रांच को बाद में डाउनलोड कर सकते हैं यदि आपको पता चलता है कि आपको एक की आवश्यकता है जिसे आपने डाउनलोड नहीं किया है।
आप --single-branch विकल्प का उपयोग करके क्लोन कमांड द्वारा पुनर्प्राप्त की जाने वाली ब्रांचेज़ को सीमित कर सकते हैं:
git clone --single-branch --branch <branch-name> <url>
<branch-name> वह जगह दर्शाता है जहां आपको उस ब्रांच का नाम निर्दिष्ट करना चाहिए जिसे आप क्लोन करना चाहते हैं। आपके द्वारा क्लोन की जाने वाली ब्रांच मौजूद होनी चाहिए अन्यथा यह कमांड एक त्रुटि लौटाएगी। <url> उस रिपॉजिटरी के URL को दर्शाता है जिससे आप एक ब्रांच क्लोन करना चाहते हैं।
Git: विशिष्ट ब्रांच क्लोन करें: उदाहरण
हमारे पास ck-git नामक एक रिपॉजिटरी है। इस रिपॉजिटरी में दो ब्रांचेज़ हैं: master और dev। हम केवल master ब्रांच को पुनः प्राप्त करना चाहते हैं क्योंकि हम dev ब्रांच के साथ काम करने की योजना नहीं बना रहे हैं।
केवल master ब्रांच को पुनः प्राप्त करने के लिए, हम git clone कमांड के साथ --single-branch विकल्प का उपयोग करने जा रहे हैं:
git clone --single-branch --branch master https://github.com/career-karma-tutorials/ck-git
--single-branch फ्लैग के बाद, हमने --branch फ्लैग के लिए एक मान निर्दिष्ट किया है। यह वह जगह है जहां हम Git को बताते हैं कि किस ब्रांच को क्लोन करना है। अगला, हम उस रिपॉजिटरी का URL निर्दिष्ट करते हैं जिसे हम क्लोन करना चाहते हैं, जैसे हम किसी भी git clone कमांड के साथ करेंगे।
आइए देखते हैं कि जब हम अपनी कमांड चलाते हैं तो क्या होता है:
Cloning into 'ck-git'... remote: Enumerating objects: 37, done. ... Unpacking objects: 100% (37/37), done.
git clone कमांड ने ck-git रिपॉजिटरी को हमारी स्थानीय मशीन पर कॉपी कर दिया है। कमांड ने केवल "master" ब्रांच को क्लोन किया है क्योंकि हमने --single-branch फ्लैग का उपयोग किया था।
हम यह सत्यापित कर सकते हैं कि केवल "master" ब्रांच क्लोन की गई थी, हमारे नए प्रोजेक्ट फ़ोल्डर में नेविगेट करके और git branch कमांड निष्पादित करके:
cd ck-git/ git branch
git branch कमांड उन सभी ब्रांचेज़ को सूचीबद्ध करता है जो हमारे रिपॉजिटरी में स्थानीय रूप से संग्रहीत हैं:
* master
केवल एक ब्रांच क्लोन की गई है। यह master ब्रांच है।
यदि आप एक सिंगल ब्रांच क्लोन करना चाहते हैं तो आपको --single-branch फ्लैग निर्दिष्ट करना होगा। अकेला --branch फ्लैग उस ब्रांच को निर्दिष्ट करता है जिसे आप रिपॉजिटरी में नेविगेट करते समय चेक आउट करना चाहते हैं। केवल --branch फ्लैग के साथ एक क्लोन ऑपरेशन अभी भी रिपॉजिटरी में सभी ब्रांचेज़ को लाता है।
--single-branch फ्लैग Git संस्करण 1.7.10 और भविष्य के संस्करणों से समर्थित है।
रिमोट ब्रांच फेच करें
चूंकि हमने केवल एक ब्रांच डाउनलोड की है, हम अपने प्रोजेक्ट में अन्य ब्रांचेज़ पर कोड नहीं देख सकते।
हमें अभी पता चला है कि हमें "dev" ब्रांच की एक कॉपी भी चाहिए। यह कोई समस्या नहीं है क्योंकि हम प्रारंभ में अपने रिपॉजिटरी को क्लोन करने के बाद रिमोट ब्रांचेज़ को फेच कर सकते हैं। हम git checkout कमांड का उपयोग करके "dev" ब्रांच को पुनः प्राप्त कर सकते हैं:
git checkout --track origin/dev
यह कमांड हमारे "origin" पर dev ब्रांच को पुनः प्राप्त करेगा। "origin" उस रिमोट रिपॉजिटरी को संदर्भित करता है जिससे हमारा रिपॉजिटरी जुड़ा हुआ है।
"dev" ब्रांच को एक स्थानीय ब्रांच में सहेजा जाएगा। फिर, हमारा Git HEAD "dev" ब्रांच पर बदल जाएगा। इसका मतलब है कि हम जिस ब्रांच पर थे उसे देखने से "dev" ब्रांच पर चले जाएंगे।
निष्कर्ष
आप git clone --single-branch --branch कमांड का उपयोग करके Git रिपॉजिटरी से एक विशिष्ट ब्रांच को क्लोन कर सकते हैं। यह कमांड एक ब्रांच से जुड़ी सभी फ़ाइलों और मेटाडेटा को पुनः प्राप्त करती है। अन्य ब्रांचेज़ को पुनः प्राप्त करने के लिए, आपको बाद में उन्हें फेच करना होगा।
क्या आप Git के बारे में अधिक सीखना चाहते हैं? हमारा How to Learn Git गाइड देखें। इस गाइड में, आपको शीर्ष ऑनलाइन शिक्षण संसाधनों, पाठ्यक्रमों और पुस्तकों की सूची मिलेगी। आपको इस बारे में विशेषज्ञ सलाह भी मिलेगी कि कैसे एक शुरुआती Git उपयोगकर्ता से विशेषज्ञ बना जा सकता है।