Ubuntu पर GitHub का उपयोग कैसे करें: Git, SSH और VS Code के साथ शुरुआती से उन्नत तक का पूर्ण गाइड

目次

1. परिचय

उबंटू को गिटहब से क्यों जोड़ें?

हाल के वर्षों में, गिट और गिटहब का उपयोग सॉफ्टवेयर विकास और सिस्टम संचालन में मानक अभ्यास बन गया है। लिनक्स वातावरण जैसे उबंटू में काम करने वाले इंजीनियरों और प्रोग्रामरों के लिए, गिटहब के साथ एकीकरण दैनिक कार्यप्रवाह का हिस्सा है।

गिट स्रोत कोड संस्करण इतिहास प्रबंधन के लिए एक उपकरण है और कई डेवलपर्स के बीच कुशल सहयोग के लिए आवश्यक है। दूसरी ओर, गिटहब एक होस्टिंग सेवा है जो गिट-प्रबंधित रिपॉजिटरी को ऑनलाइन साझा और प्रकाशित करने की अनुमति देती है, जो डेवलपर्स के लिए कोड विनिमय का वैश्विक केंद्र के रूप में कार्य करती है।

उबंटू पर गिटहब का उपयोग क्यों करें?

उबंटू डेवलपर्स के बीच अत्यधिक लोकप्रिय एक लिनक्स वितरण है और इसे ओपन-सोर्स विकास के साथ उत्कृष्ट संगतता के लिए जाना जाता है। यह गिट और अन्य विकास उपकरणों को आसानी से स्थापित करने का एक वातावरण प्रदान करता है, जिससे गिटहब एकीकरण सुगम और कुशल हो जाता है।

उबंटू और गिटहब को जोड़ने के सामान्य उपयोग के मामले निम्नलिखित हैं:

  • गिटहब पर पायथन, सी++ और अन्य स्रोत कोड का प्रबंधन और साझाकरण
  • ओपन-सोर्स प्रोजेक्ट्स में योगदान
  • अपने कार्य को पोर्टफोलियो के रूप में प्रकाशित करना

इस लेख में आप क्या सीखेंगे

यह गाइड उबंटू पर गिटहब के बुनियादी से उन्नत उपयोग को निम्नलिखित चरणों के माध्यम से समझाती है:

  • उबंटू पर गिट कैसे स्थापित करें
  • प्रारंभिक गिट कॉन्फ़िगरेशन और एसएसएच सेटअप
  • गिटहब रिपॉजिटरी बनाना और प्रबंधित करना
  • विजुअल स्टूडियो कोड का उपयोग करके कुशल विकास
  • सामान्य समस्या निवारण टिप्स और एफएक्यू

गिटहब के नए उपयोगकर्ता भी सुरक्षित रूप से अनुसरण कर सकते हैं, जिसमें वास्तविक कमांड उदाहरण और महत्वपूर्ण नोट्स शामिल हैं। यदि आप उबंटू पर गिटहब का अधिकतम लाभ उठाना चाहते हैं, तो अंत तक पढ़ें।

2. उबंटू पर गिट स्थापित करना

गिट क्या है? एक त्वरित पुनरावलोकन

गिट सॉफ्टवेयर विकास में उपयोग किया जाने वाला एक वर्जन कंट्रोल सिस्टम (वीसीएस) है जो स्रोत कोड के परिवर्तन इतिहास को प्रबंधित करता है। यह डेवलपर्स को पिछले राज्यों को पुनर्स्थापित करने और एक साथ सहयोग करने की अनुमति देता है।

उबंटू जैसे लिनक्स वातावरणों का एक प्रमुख लाभ यह है कि गिट को कितनी आसानी से स्थापित किया जा सकता है। नीचे दिए गए तरीके का उपयोग करके, स्थापना टर्मिनल के माध्यम से मिनटों में पूरी की जा सकती है।

एपीटी के माध्यम से गिट स्थापित करना

उबंटू पर गिट स्थापित करने का सबसे सामान्य तरीका एपीटी (एडवांस्ड पैकेज टूल) का उपयोग करना है। इन चरणों का पालन करें:

1. पैकेज सूची अपडेट करें

sudo apt update

यह कमांड नवीनतम पैकेज जानकारी प्राप्त करता है। हमेशा नए सॉफ्टवेयर स्थापित करने से पहले इसे चलाएं।

2. गिट स्थापित करें

sudo apt install git

जब “Y/n” का संकेत मिले, तो y टाइप करें और एंटर दबाकर स्थापना शुरू करें।

गिट स्थापना की पुष्टि करें

स्थापना के बाद, पुष्टि करें कि गिट सही ढंग से स्थापित है:

git --version

यदि आपको निम्नलिखित जैसा आउटपुट दिखाई दे, तो गिट सफलतापूर्वक स्थापित हो गया है:

git version 2.34.1

संस्करण संख्या आपके उबंटू रिलीज के आधार पर भिन्न हो सकती है, लेकिन कोई भी संस्करण आउटपुट सफलता की पुष्टि करता है।

स्नैप के माध्यम से स्थापित करना (वैकल्पिक)

हालांकि गिट को snap कमांड का उपयोग करके भी स्थापित किया जा सकता है, एपीटी सामान्य रूप से अधिक स्थिर और व्यापक रूप से उपयोग किया जाता है। विशेष कारण न होने पर, एपीटी की सिफारिश की जाती है।

3. प्रारंभिक गिट कॉन्फ़िगरेशन

गिट उपयोग करने से पहले आवश्यक सेटअप

एक बार गिट स्थापित हो जाने के बाद, अगला चरण उपयोगकर्ता जानकारी और प्रमाणीकरण को कॉन्फ़िगर करना है। उचित कॉन्फ़िगरेशन रिमोट रिपॉजिटरी और टीम कार्यप्रवाह के साथ सुगम इंटरैक्शन सुनिश्चित करता है।

गिट उपयोगकर्ता नाम और ईमेल सेट करना

गिट प्रत्येक कमिट करने वाले को रिकॉर्ड करता है। इसलिए, आपको उपयोगकर्ता नाम और ईमेल पता कॉन्फ़िगर करना चाहिए।

कॉन्फ़िगरेशन कमांड्स

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

ये मान आपके गिटहब खाते से ठीक मेल खाने की आवश्यकता नहीं है, लेकिन गिटहब के समान ईमेल का उपयोग कमिट्स को सही ढंग से जोड़ने में मदद करता है।

कॉन्फ़िगरेशन की पुष्टि करें

git config --list

यह कमांड आपकी वर्तमान गिट कॉन्फ़िगरेशन प्रदर्शित करता है।

एसएसएच कुंजियाँ उत्पन्न करना और पंजीकृत करना

.हालांकि HTTPS समर्थित है, SSH प्रमाणीकरण दोहराए जाने वाले पासवर्ड प्रॉम्प्ट को समाप्त करता है और अधिक सुरक्षित तथा कुशल कार्यप्रवाह प्रदान करता है।

1. SSH कुंजी उत्पन्न करें

ssh-keygen -t ed25519 -C "you@example.com"

प्राइवेट कुंजी (~/.ssh/id_ed25519) और पब्लिक कुंजी (~/.ssh/id_ed25519.pub) बनाने के लिए कई बार एंटर दबाएँ।

2. SSH एजेंट शुरू करें और कुंजी जोड़ें

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

SSH कुंजी अब उपयोग के लिए तैयार है।

3. पब्लिक कुंजी को GitHub पर जोड़ें

पब्लिक कुंजी कॉपी करें:

cat ~/.ssh/id_ed25519.pub

फिर इसे GitHub पर रजिस्टर करें:

  1. GitHub में लॉग इन करें
  2. अपनी प्रोफ़ाइल छवि पर क्लिक करें → Settings
  3. “SSH और GPG keys” चुनें
  4. “New SSH key” पर क्लिक करें, कुंजी पेस्ट करें, और सहेजें

4. SSH कनेक्शन का परीक्षण करें

ssh -T git@github.com

होस्ट पर भरोसा करने के लिए प्रॉम्प्ट आने पर yes टाइप करें।

यदि सफल होता है, तो आप देखेंगे:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

अनुशंसित अगले कदम

इस सेटअप के पूर्ण होने के बाद, आप अब GitHub रिपॉज़िटरीज़ को क्लोन, पुश और पुल कर सकते हैं। अगला भाग व्यावहारिक रूप से GitHub रिपॉज़िटरीज़ कैसे बनाएं और संचालित करें को समझाता है।

4. GitHub रिपॉज़िटरीज़ के साथ काम करना

GitHub पर नई रिपॉज़िटरी बनाना

GitHub में लॉग इन करने के बाद, नई रिपॉज़िटरी बनाकर शुरू करें।

चरण (वेब ब्राउज़र के माध्यम से)

  1. GitHub होमपेज के शीर्ष-दाएँ कोने में “+” बटन पर क्लिक करें और “New repository” चुनें।
  2. निम्नलिखित जानकारी दर्ज करें:
  • रिपॉज़िटरी नाम : उदाहरण: my-first-repo
  • विवरण (वैकल्पिक) : एक संक्षिप्त व्याख्या
  • Public / Private : रिपॉज़िटरी की दृश्यता चुनें
  1. “Create repository” पर क्लिक करें।

बनाने के बाद, रिपॉज़िटरी URL प्रदर्शित होगा। आप इस URL का उपयोग रिपॉज़िटरी को क्लोन और प्रबंधित करने के लिए करेंगे।

मौजूदा GitHub रिपॉज़िटरी को क्लोन करना

रिपॉज़िटरी को अपने स्थानीय Ubuntu वातावरण में कॉपी करने के लिए, git clone कमांड का उपयोग करें।

git clone git@github.com:your-username/my-first-repo.git

यह उदाहरण SSH का उपयोग करता है। यदि आप HTTPS का उपयोग करते हैं, तो URL अलग होगा।

चलाने के बाद, my-first-repo नामक एक डायरेक्टरी बन जाएगी जिसमें रिपॉज़िटरी फ़ाइलें होंगी।

फ़ाइल परिवर्तन, स्टेजिंग, और कमिट वर्कफ़्लो

1. फ़ाइलें जोड़ें या संपादित करें

उदाहरण के लिए, एक नई फ़ाइल बनाएं:

echo "# My First GitHub Project" > README.md

2. परिवर्तनों को स्टेज करें

git add README.md

स्टेजिंग यह चुनता है कि कौन से परिवर्तन अगले कमिट में शामिल होंगे।

3. परिवर्तनों को कमिट करें

git commit -m "Initial commit: add README.md"

आपके परिवर्तन अब स्थानीय रिपॉज़िटरी इतिहास में सहेजे गए हैं।

GitHub पर परिवर्तन पुश करना

स्थानीय परिवर्तन को रिमोट GitHub रिपॉज़िटरी पर प्रतिबिंबित करने के लिए, git push का उपयोग करें।

git push origin main

यदि आपका डिफ़ॉल्ट ब्रांच main नहीं है (उदाहरण के लिए, master), तो ब्रांच नाम को उसी अनुसार बदलें।

रिमोट परिवर्तन को स्थानीय में पुल करना

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

git pull origin main

यह रिमोट परिवर्तन को आपके स्थानीय ब्रांच में मर्ज करता है।

सामान्य अतिरिक्त ऑपरेशन्स

  • रिमोट रिपॉज़िटरीज़ जांचें:
    git remote -v
    
  • बाद में एक और GitHub रिपॉज़िटरी जोड़ें:
    git remote add origin git@github.com:your-username/another-repo.git
    
  • README.md या .gitignore को संपादित करना भी समान वर्कफ़्लो का पालन करता है।

5. Visual Studio Code के साथ एकीकरण

Git ऑपरेशन्स के लिए VS Code क्यों आदर्श है

Ubuntu पर GitHub का उपयोग करते समय, इसे Visual Studio Code (VS Code) के साथ मिलाने से उत्पादकता में काफी सुधार होता है। VS Code माइक्रोसॉफ्ट द्वारा विकसित एक ओपन-सोर्स एडिटर है और इसकी उत्कृष्ट Git इंटीग्रेशन के लिए जाना जाता है। यह GUI के माध्यम से कमिट, पुश और डिफ़ रिव्यू की सुविधा देता है, जिससे शुरुआती उपयोगकर्ताओं के लिए यह अनुकूल है।

Ubuntu पर VS Code स्थापित करना

आप नीचे दिए गए चरणों का उपयोग करके Ubuntu पर आसानी से VS Code स्थापित कर सकते हैं।

1. Microsoft रिपॉज़िटरी जोड़ें

sudo apt update
sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/

2. रिपॉजिटरी को रजिस्टर करें

sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

3. VS Code इंस्टॉल करें

sudo apt update
sudo apt install code

स्थापना के बाद, आप टर्मिनल में code टाइप करके VS Code लॉन्च कर सकते हैं।

अंतर्निहित Git समर्थन

VS Code में डिफ़ॉल्ट रूप से Git एकीकरण शामिल है, इसलिए बुनियादी Git ऑपरेशनों के लिए कोई अतिरिक्त प्लगइन की आवश्यकता नहीं है। उन्नत उपयोग के लिए, निम्नलिखित एक्सटेंशन्स की सिफारिश की जाती है:

  • GitHub Pull Requests and Issues GUI-आधारित पुल रिक्वेस्ट हैंडलिंग और इश्यू प्रबंधन को सक्षम करता है।
  • GitLens लाइन-दर-लाइन इतिहास को विज़ुअलाइज़ करता है, जो दिखाता है कि किसने क्या और कब बदला।

VS Code में बुनियादी Git ऑपरेशन

रिपॉजिटरी खोलना

अपनी क्लोन की गई रिपॉजिटरी पर नेविगेट करें और चलाएं:

code .

परिवर्तनों की समीक्षा और कमिट करना

  • बाईं साइडबार में सोर्स कंट्रोल आइकन पर क्लिक करें
  • संशोधित फाइलों की सूची देखें
  • डिफ़्स देखने के लिए एक फाइल चुनें
  • कमिट मैसेज दर्ज करें और ✓ आइकन पर क्लिक करें

पुश और पुल ऑपरेशन

  • “…” मेनू से “Push” या “Pull” चुनें
  • या नीचे दाईं ओर स्टेटस बार का उपयोग करें

एकीकृत टर्मिनल का उपयोग

अंतर्निहित टर्मिनल (Ctrl + `) GUI और CLI वर्कफ़्लो के बीच सहज स्विचिंग की अनुमति देता है। उदाहरण के लिए, आप GUI के माध्यम से कमिट कर सकते हैं और टर्मिनल के माध्यम से ब्रांच प्रबंधित कर सकते हैं।

समस्या निवारण टिप्स

  • यदि SSH त्रुटियाँ होती हैं, तो सत्यापित करें कि VS Code सही SSH कुंजी का संदर्भ दे रहा है
  • आपको प्रमाणीकरण को पुन: कॉन्फ़िगर करने की आवश्यकता हो सकती है या GitHub पर्सनल एक्सेस टोकन (PAT) का उपयोग करें

6. सामान्य समस्या निवारण

SSH त्रुटि: “Permission denied (publickey).”

संभावित कारण

  • SSH कुंजियाँ सही ढंग से उत्पन्न नहीं की गईं
  • पब्लिक कुंजी GitHub पर रजिस्टर नहीं है
  • SSH एजेंट कुंजी को लोड नहीं कर रहा है

समाधान

  1. मौजूदा SSH कुंजी की जाँच करें:
    ls ~/.ssh/id_ed25519.pub
    

यदि यह मौजूद नहीं है, तो एक उत्पन्न करें:

ssh-keygen -t ed25519 -C "your_email@example.com"
  1. SSH एजेंट शुरू करें और कुंजी जोड़ें:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    
  1. पब्लिक कुंजी को GitHub पर जोड़ें:
    cat ~/.ssh/id_ed25519.pub
    

इसे GitHub पर “SSH and GPG keys” के अंतर्गत जोड़ें।

  1. कनेक्शन का परीक्षण करें:
    ssh -T git@github.com
    

HTTPS के साथ प्रमाणीकरण त्रुटि

कारण

  • पासवर्ड प्रमाणीकरण को हटा दिया गया है; टोकन-आधारित प्रमाणीकरण की आवश्यकता है

समाधान

  1. GitHub पर एक पर्सनल एक्सेस टोकन बनाएँ https://github.com/settings/tokens टोकन बनाते समय repo स्कोप की जाँच करें
  2. अपना GitHub उपयोगकर्ता नाम और टोकन स्ट्रिंग को पासवर्ड के रूप में उपयोग करें
  3. यदि वांछित हो तो क्रेडेंशियल कैशिंग सक्षम करें:
    git config --global credential.helper cache
    

त्रुटि: “fatal: not a git repository”

कारण

  • वर्तमान निर्देशिका एक Git रिपॉजिटरी नहीं है

समाधान

  • एक मौजूदा रिपॉजिटरी निर्देशिका में जाएँ:
    cd ~/your-project-directory
    
  • या एक नई रिपॉजिटरी प्रारंभ करें:
    git init
    

मर्ज कॉन्फ्लिक्ट्स को संभालना

कारण

  • कॉन्फ्लिक्ट्स तब होते हैं जब कई उपयोगकर्ता एक ही फाइल के एक ही सेक्शन को एक साथ संपादित करते हैं

समाधान

  1. git pull त्रुटि के बाद कॉन्फ्लिक्टिंग फाइल खोलें
  2. कॉन्फ्लिक्ट मार्कर्स की तलाश करें:
    <<<<<<< HEAD
    Your changes
    =======
    Other changes
    >>>>>>> origin/main
    
  1. सामग्री संपादित करें, मार्कर्स हटाएँ, और सहेजें
  2. फिर चलाएँ:
    git add .
    git commit
    

त्रुटि: “remote: Repository not found.”

कारण

  • गलत रिपॉजिटरी URL
  • रिपॉजिटरी तक पहुँच अनुमति नहीं है

समाधान

  • रिमोट URL की जाँच करें:
    git remote -v
    
  • यदि आवश्यक हो तो URL रीसेट करें:
    git remote set-url origin git@github.com:your-username/your-repo.git
    

ये समस्याएँ शुरुआती लोगों के लिए आमतौर पर होती हैं। हालांकि, स्पष्ट कारणों और समाधानों के साथ, इन्हें शांतिपूर्वक हल किया जा सकता है। त्रुटियों को सीखने के अवसर के रूप में मानें और धीरे-धीरे आत्मविश्वास बनाएँ।

7. अक्सर पूछे जाने वाले प्रश्न

प्रश्न 1. Git और GitHub के बीच क्या अंतर है?

उत्तर:
Git एक संस्करण नियंत्रण उपकरण है जो स्थानीय रूप से परिवर्तन इतिहास प्रबंधित करता है। GitHub एक क्लाउड सेवा है जो Git रिपॉजिटरी होस्ट करती है और साझाकरण तथा सहयोग सक्षम बनाती है।

  • Git: स्थानीय और ऑफलाइन इतिहास प्रबंधन
  • GitHub: ऑनलाइन रिपॉजिटरी होस्टिंग और सहयोग

प्रश्न 2. क्या मुझे SSH या HTTPS का उपयोग करना चाहिए?

उत्तर:
SSH की सिफारिश की जाती है क्योंकि:

  • बार-बार पासवर्ड दर्ज करने की आवश्यकता नहीं
  • लंबे समय तक अधिक सुरक्षित और सुविधाजनक

हालांकि, कुछ कॉर्पोरेट या नेटवर्क वातावरणों में HTTPS की आवश्यकता हो सकती है।

प्रश्न 3. Ubuntu पर एक से अधिक GitHub खातों का उपयोग कैसे कर सकता हूँ?

उत्तर:
प्रत्येक खाते के लिए अलग-अलग SSH कुंजियाँ उत्पन्न करें और उन्हें स्पष्ट रूप से कॉन्फ़िगर करें।

  1. अलग-अलग SSH कुंजियाँ बनाएँ उदाहरण: ~/.ssh/id_ed25519_work , ~/.ssh/id_ed25519_personal
  2. ~/.ssh/config को संपादित करें:
    Host github.com-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_work
    
    Host github.com-personal
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_personal
    
  1. रिमोट URL को अपडेट करें:
    git remote set-url origin git@github.com-work:your-work-user/your-repo.git
    

प्रश्न 4. क्या मैं Git को GUI के साथ उपयोग कर सकता हूँ?

उत्तर:
हाँ। Visual Studio Code GUI-आधारित Git ऑपरेशन प्रदान करता है, जिसमें कमिट, पुश, डिफ़्स और ब्रांच प्रबंधन शामिल हैं। यह शुरुआती लोगों के लिए अत्यधिक अनुशंसित है।

प्रश्न 5. यदि मैं रिमोट रिपॉजिटरी को हटा दूँ तो क्या होता है?

उत्तर:
रिमोट रिपॉजिटरी को हटाने से स्थानीय रिपॉजिटरी पर कोई प्रभाव नहीं पड़ता। हालांकि, git push विफल हो जाएगा।

आप नई रिमोट से पुनः कनेक्ट कर सकते हैं जैसा कि नीचे दिया गया है:

git remote set-url origin git@github.com:new-user/new-repo.git

प्रश्न 6. क्या टर्मिनल को पूरी तरह से टालना संभव है?

उत्तर:
हाँ। GUI Git क्लाइंट टर्मिनल-मुक्त कार्यप्रवाह की अनुमति देते हैं:

  • GitKraken
  • Sourcetree (Linux पर आधिकारिक रूप से समर्थित नहीं)
  • Visual Studio Code (बिल्ट-इन Git समर्थन)

Ubuntu उपयोगकर्ताओं के लिए, VS Code + GitLens संयोजन सबसे व्यावहारिक और उपयोगकर्ता-अनुकूल है।

प्रश्न 7. Git इतिहास कितना पीछे जा सकता है?

उत्तर:
Git पहले कमिट से सभी इतिहास को संरक्षित करता है। इसे देखने के लिए उपयोग करें:

git log

किसी विशिष्ट फ़ाइल के लिए इतिहास देखने के लिए:

git log path/to/file