Ubuntu पर git clone का उपयोग कैसे करें: Git रिपॉज़िटरी क्लोन करने के लिए शुरुआती गाइड

目次

1. परिचय

हाल के वर्षों में, “Git” सॉफ़्टवेयर विकास, अनुसंधान और व्यक्तिगत प्रोजेक्ट्स में एक आवश्यक उपकरण बन गया है। विशेष रूप से एक संस्करण नियंत्रण प्रणाली के रूप में जो विश्वभर में उपयोग की जाती है, Git टीम विकास और ओपन‑सोर्स प्रोजेक्ट्स में कुशल कोड साझा करने और प्रबंधन को सक्षम करके प्रमुख भूमिका निभाता है।

यह लेख Ubuntu, जो सबसे लोकप्रिय Linux वितरणों में से एक है, पर git clone कमांड का उपयोग करके Git रिपॉजिटरी को क्लोन (डुप्लिकेट) करने के लिए शुरुआती‑मित्र गाइड प्रदान करता है।
git clone कमांड रिमोट रिपॉजिटरी (जैसे GitHub या GitLab पर होस्ट किए गए प्रोजेक्ट) को आपके स्थानीय वातावरण में कॉपी करने का सबसे बुनियादी तरीका है।

Ubuntu उपयोगकर्ता के रूप में git clone में निपुण होकर आप विभिन्न ओपन‑सोर्स सॉफ़्टवेयर को सहजता से स्थापित कर सकेंगे और अपना विकास वातावरण सेट अप कर सकेंगे।
यह आपको टीम और समुदाय सहयोग में अधिक सक्रिय बनने में भी मदद करता है।

यह लेख Git को स्थापित करने, git clone के मूल उपयोग, और सामान्य त्रुटियों के निवारण तक सब कुछ कवर करता है।
चाहे आप Ubuntu पर Git के नए हों या अपने मौजूदा ज्ञान को व्यवस्थित करना चाहते हों, यहाँ आपको व्यावहारिक टिप्स मिलेंगी।

2. पूर्वापेक्षाएँ एवं पर्यावरण सेटअप

Ubuntu पर git clone का उपयोग करने के लिए, आपको पहले Git को स्थापित करना होगा। आपको प्रारंभिक सेटिंग्स और रिमोट रिपॉजिटरी तक पहुँचने के लिए प्रमाणीकरण को भी कॉन्फ़िगर करना होगा। यह अनुभाग प्रत्येक सेटअप चरण को विस्तार से बताता है।

2.1 Git कैसे स्थापित करें

Ubuntu में, Git को आधिकारिक रिपॉजिटरी से आसानी से स्थापित किया जा सकता है। अपना टर्मिनल खोलें और क्रमशः निम्नलिखित कमांड चलाएँ:

sudo apt update
sudo apt install git

स्थापना के बाद, Git का संस्करण जानकारी प्रदर्शित करके जाँचें कि Git सही ढंग से स्थापित हुआ है या नहीं:

git --version

यदि संस्करण जानकारी दिखाई देती है, तो Git सफलतापूर्वक स्थापित हो गया है।

2.2 उपयोगकर्ता नाम और ई‑मेल कॉन्फ़िगर करना

Git हर फ़ाइल परिवर्तन के समय “किसने क्या किया” को सहेजता है। इसलिए, पहली बार उपयोग करने वाले उपयोगकर्ताओं के लिए अपना उपयोगकर्ता नाम और ई‑मेल पता सेट करना महत्वपूर्ण है:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

यह ग्लोबल सेटिंग सभी Git ऑपरेशनों पर लागू होगी। यदि आप प्रोजेक्ट‑विशिष्ट सेटिंग चाहते हैं, तो --global को हटाएँ और कमांड को अपने प्रोजेक्ट डायरेक्टरी में चलाएँ।

2.3 प्रमाणीकरण विधि चुनना और सेट अप करना

रिमोट रिपॉजिटरी तक पहुँचने के लिए Git दो मुख्य प्रमाणीकरण विधियाँ प्रदान करता है:

  • HTTPS – एक URL के माध्यम से जुड़ता है, ठीक आपके ब्राउज़र की तरह। सुरक्षा कारणों से GitHub और GitLab अब पासवर्ड के बजाय व्यक्तिगत एक्सेस टोकन (PAT) की मांग करते हैं।
  • SSH – प्रमाणीकरण के लिए सार्वजनिक और निजी कुंजियों का उपयोग करता है। यह अधिक सुरक्षित है और एक बार सेट अप करने के बाद हर बार पासवर्ड टाइप करने की आवश्यकता नहीं रहती—यदि आप अक्सर Git का उपयोग करते हैं तो यह अनुशंसित है।

2.4 Git Credential Manager (GCM, वैकल्पिक) का उपयोग

यदि आप पासवर्ड और टोकन को अधिक सुरक्षित और आसान तरीके से प्रबंधित करना चाहते हैं, तो Git Credential Manager (GCM) स्थापित करने पर विचार करें।
GCM आपके क्रेडेंशियल्स को सुरक्षित रूप से संग्रहीत करता है और हर बार उन्हें टाइप करने से बचाता है। यह Ubuntu के लिए आधिकारिक दस्तावेज़ या पैकेज मैनेजर्स के माध्यम से उपलब्ध है।

बस इतना ही, आपका Ubuntu पर्यावरण git clone उपयोग के लिए तैयार है।
अगले अनुभाग में, आप git clone कमांड का उपयोग करके वास्तव में रिपॉजिटरी को क्लोन करने के मूल चरण सीखेंगे।

3. git clone का मूल उपयोग

git clone कमांड रिमोट रिपॉजिटरी की सामग्री को आपके स्थानीय वातावरण में डुप्लिकेट करने का प्राथमिक तरीका है। जब आप किसी अन्य व्यक्ति की रिपॉजिटरी को ओपन‑सोर्स प्रोजेक्ट या टीम विकास के लिए उपयोग करना चाहते हैं, तो क्लोन करना पहला कदम होता है।

3.1 मूल कमांड सिंटैक्स

सबसे सरल उपयोग इस प्रकार है:

git clone <repository URL>

उदाहरण के लिए, GitHub पर एक सार्वजनिक रिपॉजिटरी को क्लोन करने के लिए:

git clone https://github.com/exampleuser/sample-project.git

यह आपके वर्तमान डायरेक्टरी में sample-project नाम का एक नया फ़ोल्डर बनाता है, जिसमें रिपॉजिटरी की सभी फ़ाइलें होती हैं।

3.2 HTTPS के माध्यम से क्लोन करना

अधिकांश सेवाएँ HTTPS के माध्यम से क्लोनिंग का समर्थन करती हैं। URL “https://” से शुरू होता है। पहली बार उपयोग करने पर आपको प्रमाणीकरण (उपयोगकर्ता नाम, व्यक्तिगत एक्सेस टोकन आदि) के लिए पूछा जा सकता है।

git clone https://github.com/username/repository.git

3.3 SSH के द्वारा क्लोनिंग

यदि आपने SSH कुंजी पंजीकृत की है, तो आप अधिक सुरक्षित और पासवर्ड के बिना क्लोन कर सकते हैं। SSH URL का स्वरूप इस प्रकार होता है “git@github.com:username/repository.git”.

git clone git@github.com:username/repository.git

SSH क्लोनिंग का उपयोग करने से पहले अपना पब्लिक की GitHub या GitLab में रजिस्टर करें।

3.4 क्लोनिंग के बाद रिपॉज़िटरी संरचना

जब आप git clone चलाते हैं, तो सभी फ़ाइलें और डायरेक्टरी—.git डायरेक्टरी (जो संस्करण नियंत्रण डेटा संग्रहीत करती है) सहित—डुप्लिकेट हो जाती हैं।

  • .git डायरेक्टरी रिपॉज़िटरी का इतिहास और सेटिंग्स संग्रहीत करती है। इसका मौजूद होना दर्शाता है कि फ़ोल्डर की सभी फ़ाइलें Git प्रबंधन में हैं।
  • वर्किंग डायरेक्टरी आपके प्रोजेक्ट का सोर्स कोड, दस्तावेज़, और अन्य फ़ाइलें रखती है जिनके साथ आप काम करते हैं।

3.5 वर्तमान डायरेक्टरी के साथ सावधान रहें

git clone वह फ़ोल्डर बनाता है जहाँ आप इसे चलाते हैं। पहले सुनिश्चित करें कि आप अपनी इच्छित लोकेशन में cd करके हों।

4. विशिष्ट ब्रांच को क्लोन करना

Git रिपॉज़िटरी में कई ब्रांच हो सकती हैं। डिफ़ॉल्ट रूप से, git clone डिफ़ॉल्ट ब्रांच (जैसे main या master) को चेक‑आउट करता है, लेकिन आप किसी विशिष्ट ब्रांच को क्लोन करना चाह सकते हैं। यह रहा तरीका:

4.1 --branch विकल्प का उपयोग करना

git clone कमांड --branch (या -b) विकल्प प्रदान करता है जिससे आप निर्दिष्ट ब्रांच को क्लोन कर सकते हैं।

git clone --branch branch-name repository-URL

उदाहरण के लिए “develop” ब्रांच को क्लोन करने के लिए:

git clone --branch develop https://github.com/exampleuser/sample-project.git

यह एक स्थानीय रिपॉज़िटरी बनाता है जो “develop” ब्रांच पर चेक‑आउट होती है।

4.2 --single-branch के साथ संयोजन

डिफ़ॉल्ट रूप से, git clone सभी ब्रांच डेटा डाउनलोड करता है। केवल निर्दिष्ट ब्रांच को प्राप्त करने के लिए --single-branch जोड़ें, जिससे डिस्क स्पेस और बैंडविड्थ बचती है।

git clone --branch branch-name --single-branch repository-URL

यह बड़े रिपॉज़िटरी या जब आपको केवल एक फीचर ब्रांच चाहिए, तब उपयोगी है।

4.3 क्लोनिंग के बाद अन्य ब्रांचेस को फ़ेच करना

यदि बाद में आप अन्य ब्रांचेस का उपयोग करना चाहते हैं, तो अपने रिपॉज़िटरी के अंदर ये कमांड चलाएँ:

git fetch --all

फिर किसी भी ब्रांच पर स्विच करने के लिए:

git checkout branch-name

4.4 टिप्स और सावधानियाँ

  • निजी या प्रतिबंधित रिपॉज़िटरी के लिए आपको वैध प्रमाणीकरण क्रेडेंशियल्स की आवश्यकता होगी।
  • यदि आप कोई गैर‑मौजूद ब्रांच निर्दिष्ट करते हैं, तो आपको त्रुटि मिलेगी—रिमोट रिपॉज़िटरी पर ब्रांच नाम हमेशा दोबारा जाँचें।

git clone के लचीले विकल्पों का उपयोग करके कार्यप्रवाह को अधिक कुशल बनाएं, यहाँ तक कि विशिष्ट ब्रांच को क्लोन करते समय भी।

5. सामान्य त्रुटियाँ और उनके समाधान

git clone का उपयोग करते समय आप प्रमाणीकरण, कनेक्टिविटी या अनुमतियों से जुड़ी त्रुटियों का सामना कर सकते हैं। यहाँ Ubuntu‑विशिष्ट सामान्य समस्याएँ और उनके समाधान दिए गए हैं:

5.1 HTTPS प्रमाणीकरण त्रुटि और पर्सनल एक्सेस टोकन (PAT)

सुरक्षा अपडेट के कारण, GitHub और GitLab अब पासवर्ड के बजाय पर्सनल एक्सेस टोकन (PAT) की मांग करते हैं। आपको इस प्रकार की त्रुटि मिल सकती है:

remote: Support for password authentication was removed...
fatal: Authentication failed for 'https://github.com/...'

GitHub में Settings > Developer settings > Personal access tokens के अंतर्गत एक PAT बनाएं। अपना GitHub उपयोगकर्ता नाम दर्ज करें और पासवर्ड के रूप में PAT पेस्ट करें।

5.2 SSH प्रमाणीकरण त्रुटि और पब्लिक की रजिस्ट्रेशन

यदि आप SSH के द्वारा क्लोन करते समय “Permission denied (publickey)” देखते हैं, तो आपका SSH की पंजीकृत नहीं हो सकता।

समाधान:

  1. यदि आपके पास नहीं है तो एक SSH की जनरेट करें:
    ssh-keygen -t ed25519 -C "your.email@example.com"
    
  1. पब्लिक की कॉपी करें:
    cat ~/.ssh/id_ed25519.pub
    
  1. की को अपने GitHub या GitLab अकाउंट सेटिंग्स में जोड़ें

यह SSH प्रमाणीकरण त्रुटियों को हल कर देगा।

5.3 रिपॉज़िटरी एक्सेस अनुमति त्रुटि

यदि आप निजी या ऑर्गनाइज़ेशन रिपॉज़िटरी को क्लोन करने की कोशिश करते हैं और देखते हैं:

fatal: repository 'https://github.com/username/repository.git/' not found

समाधान:

  • रिपॉज़िटरी URL में टाइपो की जाँच करें
  • सुनिश्चित करें कि आपके अकाउंट को रिपॉज़िटरी तक पहुँच की अनुमति है
  • प्रमाणीकरण क्रेडेंशियल्स को पुनः दर्ज करें

5.4 नेटवर्क‑संबंधी त्रुटियाँ

“Connection timed out” या “Could not resolve host” आमतौर पर नेटवर्क समस्याओं की ओर संकेत करते हैं।

समाधान:

  • अपना इंटरनेट कनेक्शन जांचें
  • यदि VPN या प्रॉक्सी का उपयोग कर रहे हैं, तो अपनी सेटिंग्स की समीक्षा करें
  • यदि GitHub अस्थायी रूप से डाउन है, तो कुछ समय बाद पुनः प्रयास करें

5.5 अन्य सामान्य त्रुटियाँ

  • Directory already exists आप उसी नाम के फ़ोल्डर में क्लोन नहीं कर सकते। लक्ष्य डायरेक्टरी का नाम बदलें या मौजूदा फ़ोल्डर को हटाएँ।
  • Not enough disk space बड़े रिपॉज़िटरी को क्लोन करने से पहले सुनिश्चित करें कि आपके पास पर्याप्त खाली स्थान है।

प्रत्येक समस्या को क्रम‑बद्ध रूप से हल करके, आप हमेशा समाधान पा सकते हैं।

6. उपयोगी git clone विकल्प

git clone विभिन्न विकल्पों के साथ आता है जो आपको केवल आवश्यक डेटा प्राप्त करने, सब‑मॉड्यूल संभालने आदि में मदद करते हैं। यहाँ कुछ सबसे उपयोगी विकल्प दिए गए हैं:

6.1 --depth विकल्प (उथला क्लोन)

यदि आप केवल नवीनतम कमिट इतिहास (पूरा इतिहास नहीं) चाहते हैं, तो --depth विकल्प का उपयोग करें।
यह केवल आपके द्वारा निर्दिष्ट संख्या में कमिट डाउनलोड करता है:

git clone --depth 1 https://github.com/exampleuser/sample-project.git

यह केवल नवीनतम कमिट को फ़ेच करता है—CI के लिए या जब आपको गति चाहिए, तब आदर्श।

6.2 --single-branch विकल्प

डिफ़ॉल्ट रूप से, git clone सभी ब्रांच जानकारी लाता है। केवल निर्दिष्ट ब्रांच को क्लोन करने के लिए --single-branch जोड़ें।
आमतौर पर --branch के साथ मिलाकर उपयोग किया जाता है:

git clone --branch develop --single-branch https://github.com/exampleuser/sample-project.git

जब आपको केवल एक ब्रांच चाहिए, तब इसका उपयोग करें।

6.3 --recursive विकल्प (सब‑मॉड्यूल क्लोन)

कुछ Git रिपॉज़िटरी “सब‑मॉड्यूल” (उनके अंदर शामिल अन्य रिपॉज़िटरी) का उपयोग करती हैं। इनको स्वचालित रूप से क्लोन करने के लिए --recursive उपयोग करें:

git clone --recursive https://github.com/exampleuser/sample-project.git

यदि आप --recursive भूल गए, तो क्लोन करने के बाद यह चलाएँ:

git submodule update --init --recursive

6.4 अन्य उपयोगी विकल्प

  • –origin विकल्प डिफ़ॉल्ट (origin) के अलावा कोई अन्य रिमोट नाम सेट करें।
  • डायरेक्टरी नाम निर्दिष्ट करें कमांड के अंत में एक डायरेक्टरी नाम जोड़ें ताकि रिपॉज़िटरी जहाँ क्लोन हो, वह बदल सके।
    git clone https://github.com/exampleuser/sample-project.git your-directory-name
    

इन विकल्पों को मिलाकर git clone को और अधिक कुशल और लचीला बनाएँ।

7. git clone के लिए GUI टूल्स का उपयोग

यदि आप कमांड‑लाइन नहीं उपयोग करना चाहते या अधिक दृश्यात्मक Git अनुभव चाहते हैं, तो एक GUI (ग्राफ़िकल यूज़र इंटरफ़ेस) टूल आज़माएँ। Ubuntu कई टूल्स को सपोर्ट करता है जो रिपॉज़िटरी क्लोन करना आसान बनाते हैं।

7.1 अनुशंसित GUI टूल्स

  • Gittyup एक हल्का, सरल Git क्लाइंट जो Ubuntu के आधिकारिक रेपो या Flatpak से उपलब्ध है।
  • Visual Studio Code (VS Code) एक लोकप्रिय कोड एडिटर जिसमें सहज Git एक्सटेंशन होते हैं।
  • GitKraken एक दृश्यात्मक और फीचर‑समृद्ध क्लाइंट (व्यक्तिगत उपयोग के लिए मुफ्त)।

7.2 Gittyup से क्लोन कैसे करें

  1. Gittyup स्थापित करें (उदा., sudo apt install gittyup या Flatpak से)।
  2. ऐप खोलें और “Clone Repository” बटन पर क्लिक करें।
  3. रिपॉज़िटरी URL पेस्ट करें, गंतव्य फ़ोल्डर चुनें, और रिपॉज़िटरी डाउनलोड हो जाएगी।

7.3 Visual Studio Code से क्लोन कैसे करें

  1. VS Code खोलें और बाएँ तरफ “Source Control” आइकन पर क्लिक करें।
  2. शीर्ष पर “Clone Repository” बटन चुनें।
  3. रिपॉज़िटरी URL पेस्ट करें और Enter दबाएँ। सहेजने का स्थान चुनें और क्लोन शुरू करें।
  4. क्लोन होने के बाद, आप कोड संपादित कर सकते हैं, कमिट कर सकते हैं, और परिवर्तन पुश कर सकते हैं—सब कुछ VS Code के भीतर।

7.4 GUI टूल्स के लाभ और सावधानियाँ

  • लाभ कमांड टाइप करने की आवश्यकता नहीं; शुरुआती लोगों के लिए आसान। फ़ाइल परिवर्तन और कमिट इतिहास को एक नज़र में देख सकते हैं।
  • ध्यान देने योग्य बातें टूल्स के फीचर और इंटरफ़ेस अलग‑अलग होते हैं, इसलिए अपनी जरूरत और पसंद के अनुसार चुनें। पहले GUI से शुरू करें और धीरे‑धीरे कमांड‑लाइन सीखें ताकि अधिक लचीले वर्कफ़्लो मिल सकें।

GUI टूल्स का उपयोग करके git clone और अन्य Git ऑपरेशन्स Ubuntu पर अधिक सुलभ बनते हैं। आवश्यकता अनुसार GUI और कमांड‑लाइन को मिलाकर काम करने से आपकी उत्पादकता बढ़ेगी।

8. निष्कर्ष

यह लेख Ubuntu पर git clone को महारत हासिल करने के बारे में आपको जानने की ज़रूरत वाली सभी चीज़ें कवर करता है—इंस्टॉलेशन, HTTPS/SSH क्लोनिंग, ब्रांचेज़, उपयोगी विकल्प, और GUI टूल्स—सब एक ही जगह पर।
एक बार जब आप git clone सीख लेते हैं, तो यह ओपन‑सोर्स योगदान, टीम विकास, और स्व-अध्ययन के लिए बहुत उपयोगी बन जाता है। इसे जल्दी महारत हासिल करने से आपके वर्कफ़्लो में कई परिदृश्यों में सुगमता आती है।

विशेष रूप से शुरुआती लोगों के लिए, याद रखें: “त्रुटि संदेश को Google करें या फँसने पर आधिकारिक दस्तावेज़ देखें।” जैसे ही आप सहज हो जाएँ, उपयोगी विकल्प और GUI टूल्स आज़माएँ ताकि आपके Git कौशल में स्तर बढ़े।

यदि आपके पास आगे कोई प्रश्न या यहाँ हल न हुई समस्याएँ हैं, तो FAQ, GitHub दस्तावेज़, या समुदाय फ़ोरम देखें।
Ubuntu और Git का अन्वेषण जारी रखें ताकि आपके विकास और सीखने के अवसर विस्तृत हों।

9. FAQ (अक्सर पूछे जाने वाले प्रश्न)

Q1: Ubuntu पर Git कैसे इंस्टॉल करें?
A1: अपना टर्मिनल खोलें और ये कमांड चलाएँ:

sudo apt update
sudo apt install git

इंस्टॉल होने के बाद, git --version से सत्यापित करें।

Q2: git clone के साथ केवल एक विशिष्ट ब्रांच कैसे क्लोन करें?
A2: --branch (या -b) विकल्प का उपयोग करें और ब्रांच का नाम निर्दिष्ट करें।
उदाहरण:

git clone --branch branch-name repository-URL

यदि आप केवल वही ब्रांच चाहते हैं तो --single-branch के साथ संयोजित करें।

Q3: HTTPS के माध्यम से क्लोन करते समय ऑथेंटिकेशन त्रुटि आती है। मुझे क्या करना चाहिए?
A3: GitHub और GitLab अब पासवर्ड के बजाय पर्सनल एक्सेस टोकन (PAT) की आवश्यकता रखते हैं। अपने GitHub सेटिंग्स में एक PAT बनाएं और पासवर्ड के लिए पूछा जाने पर उसे पेस्ट करें।

Q4: SSH कुंजी कैसे बनाएं और रजिस्टर करें?
A4: कुंजी जनरेट करने के लिए चलाएँ:

ssh-keygen -t ed25519 -C "your.email@example.com"

सार्वजनिक कुंजी (~/.ssh/id_ed25519.pub) को कॉपी करें और इसे अपने GitHub/GitLab अकाउंट सेटिंग्स में जोड़ें।

Q5: क्लोन किए गए रिपॉज़िटरी का रिमोट URL कैसे जांचें?
A5: अपने क्लोन किए गए रिपॉज़िटरी डायरेक्टरी में जाकर चलाएँ:

git remote -v

यह रिमोट रिपॉज़िटरी के URL दिखाएगा।

Q6: यदि उसी नाम की डायरेक्टरी पहले से मौजूद है तो क्या होता है?
A6: git clone त्रुटि देगा। किसी अलग डायरेक्टरी नाम का उपयोग करें या फिर से क्लोन करने से पहले मौजूदा फ़ोल्डर को हटा दें।

Q7: सबमॉड्यूल वाले रिपॉज़िटरी को सही तरीके से कैसे क्लोन करें?
A7: क्लोन करते समय --recursive जोड़ें:

git clone --recursive repository-URL

यदि आपने पहले ही क्लोन कर लिया है, तो चलाएँ:

git submodule update --init --recursive

ताकि सबमॉड्यूल फ़ेच हो सकें।

Q8: Ubuntu के लिए कुछ अनुशंसित Git GUI टूल्स कौन‑से हैं?
A8: लोकप्रिय विकल्पों में Gittyup, Visual Studio Code (Git एक्सटेंशन के साथ), और GitKraken शामिल हैं। वह चुनें जो आपके वर्कफ़्लो में फिट बैठता हो।

Q9: क्लोन करने के बाद किसी अन्य ब्रांच पर कैसे स्विच करें?
A9:

git fetch --all
git checkout branch-name

आवश्यकतानुसार ब्रांच बदलने के लिए इन कमांड्स का उपयोग करें।

年収訴求