GitHub पर अपना पहला रिपॉजिटरी कैसे बनाएं
GitHub पर अकाउंट बनाने से लेकर कोड पुश करने तक की पूरी प्रक्रिया सीखें। यह गाइड आपको बताएगी कि GitHub आपके प्रोजेक्ट को स्टोर तो करता है लेकिन उसे रन नहीं करता है।
GitHub पर आपका पहला घंटा आपको क्या देता है
GitHub पर आपके पहले घंटे के अंत में आपके पास चार चीजें होंगी: एक ऐसा अकाउंट जिसे आप वर्षों तक उपयोग करेंगे, एक रिपॉजिटरी जिसमें एक वास्तविक प्रोजेक्ट होगा, एक README जो यह बताएगा कि प्रोजेक्ट क्या करता है, और आपके अपने कंप्यूटर से एक सफल push। GitHub git रिपॉजिटरी के लिए एक होस्टिंग सर्विस है, जिसमें उनके चारों ओर review और automation टूल्स बने हुए हैं। यह आपके कोड और उसके हर वर्ज़न को स्टोर करता है, और यह एक static वेबसाइट को सर्व कर सकता है। यह आपके प्रोग्राम को रन नहीं करता है।
अंतिम वाक्य वह जगह है जहाँ शुरुआती लोग सबसे अधिक समय बर्बाद करते हैं, इसलिए इसे शुरुआत में ही बता देना उचित है। इस गाइड का बाकी हिस्सा वह एक घंटा ही है, क्रमवार, उन error messages के साथ जो आपको रास्ते में मिलेंगे। यदि आप वॉकथ्रू से पहले परिभाषा चाहते हैं, तो GitHub क्या है, इससे शुरुआत करें, और यदि नाम अभी भी भ्रमित करते हैं, तो git, GitHub और एक git सर्वर तीन अलग-अलग चीजें हैं देखें।
0 से 10 मिनट: अकाउंट और यूजरनेम
github.com पर साइन अप करें। फॉर्म छोटा है। केवल एक फील्ड है जिसके बारे में सोचने की जरूरत है, वह है यूजरनेम।
आपका यूजरनेम हर उस पते का हिस्सा बन जाता है जिसे आप साझा करेंगे, github.com/yourname/project, और हर उस clone कमांड का हिस्सा जिसे कोई भी आपके काम पर चलाएगा। ऐसा नाम चुनें जिसे आप जॉब एप्लीकेशन में लिख सकें। इसे छोटा, पढ़ने योग्य, लोअरकेस में रखें और इसमें जन्म का वर्ष न जोड़ें। बाद में नाम बदलना संभव है, और GitHub आपके पुराने रिपॉजिटरी के लिंक को रीडायरेक्ट कर देता है, लेकिन आपके पुराने प्रोफाइल पेज के लिंक 404 एरर देंगे और खाली हुए यूजरनेम को कोई भी ले सकता है। अभी सही चुनाव करने से यह परेशानी नहीं होगी।
GitHub उन अकाउंट्स पर two-factor authentication (2FA, पासवर्ड के बाद लॉगिन का दूसरा चरण) अनिवार्य करता है जो कोड में योगदान देते हैं, इसलिए यह आपको एनरोल करने के लिए कहेगा। अपने फोन पर एक ऑथेंटिकेटर ऐप का उपयोग करें और रिकवरी कोड को उस फोन के अलावा कहीं और सुरक्षित रखें। यदि आप फोन और कोड दोनों खो देते हैं, तो रिकवरी धीमी और अक्सर असंभव होती है, क्योंकि GitHub पर कोई भी यह साबित नहीं कर सकता कि अकाउंट आपका था।
ऐसे ईमेल पते के साथ साइन अप करें जिसे आप तीन साल बाद भी पढ़ते रहेंगे। आप बाद में कॉलेज का ईमेल पता दूसरे ईमेल के रूप में जोड़ सकते हैं, जो महत्वपूर्ण है क्योंकि GitHub Student Developer Pack आपके एनरोल होने का प्रमाण जांचने के बाद GitHub Education के माध्यम से दिया जाता है। इसे ऐसी चीज मानें जिसके लिए आवेदन करना है और पात्रता जांचनी है, न कि ऐसी चीज जो आपके पास पहले से है। अगस्त 2026 तक, फ्री प्लान में पहले से ही अनलिमिटेड पब्लिक और प्राइवेट रिपॉजिटरी शामिल हैं, इसलिए इस गाइड में कोई भी चीज उस एप्लीकेशन के अप्रूव होने पर निर्भर नहीं करती है।
10 से 20 मिनट: अपना पहला repository बनाएँ
एक repository, जिसे आमतौर पर repo कहा जाता है, किसी एक प्रोजेक्ट की फाइलों और उनमें किए गए हर बदलाव के पूर्ण इतिहास का संग्रह होता है। पेज के ऊपरी दाएं कोने में प्लस आइकन पर क्लिक करें और New repository चुनें।
- इसका नाम प्रोजेक्ट के अनुसार रखें, छोटे अक्षरों (lowercase) में और hyphens के साथ। यही नाम URL बन जाता है।
- एक लाइन का विवरण लिखें। यह सर्च परिणामों और आपकी प्रोफाइल पर दिखाई देता है।
- Public या Private चुनें। Public को कोई भी पढ़ सकता है। Private को केवल आप और आपके द्वारा आमंत्रित लोग ही पढ़ सकते हैं।
- "Add a README file" को टिक करें। यह पहला commit बनाता है, जिससे repository खाली नहीं रहती।
- अपनी भाषा के लिए एक
.gitignoretemplate चुनें। यहnode_modules,.envफाइलों और build output को इतिहास से बाहर रखता है। - यदि कोड public है, तो एक licence जोड़ें। बिना licence के, अन्य लोगों के पास कोड को पुन: उपयोग करने की कानूनी अनुमति नहीं होती।
.gitignore का चुनाव जितना दिखता है, उससे कहीं अधिक महत्वपूर्ण है। एक public repository में push किया गया secret उसी क्षण से public हो जाता है, और बाद के commit में फाइल को डिलीट करने से वह इतिहास से नहीं हटता, इसलिए कोई भी उसे पढ़ सकता है। स्वचालित स्कैनर्स push के कुछ ही मिनटों के भीतर commit किए गए API keys को ढूंढ लेते हैं। यदि ऐसा होता है, तो पहले key को rotate करें और उसके बाद इतिहास को साफ करें।
git इंस्टॉल करें और अपनी पहचान सेट करें
sudo apt update && sudo apt install -y git
git --version
git config --global user.name "Your Name"
git config --global user.email "you@example.com"git --version को git का वर्शन दिखाना चाहिए, जैसे कि git version 2.43.0। Ubuntu 24.04 और Debian 13 दोनों में git का नया वर्शन उपलब्ध है। Windows या macOS पर आप इसे git-scm.com से इंस्टॉल करें, और नीचे दी गई दोनों git config कमांड्स हर जगह समान रहती हैं।
git config में दिया गया ईमेल कोई लॉगिन नहीं है। यह आपके द्वारा किए गए हर commit पर अंकित एक लेबल है। GitHub इस लेबल का मिलान आपके अकाउंट पर मौजूद ईमेल एड्रेस से करके commit को आपकी प्रोफाइल से जोड़ता है। इसे किसी ऐसे एड्रेस पर सेट करें जिसे GitHub पहचानता हो, अन्यथा आपके commits पर आपका नाम तो होगा, लेकिन वे किसी प्रोफाइल से नहीं जुड़ेंगे और आपके contribution graph में भी नहीं दिखेंगे। यदि आप अपना निजी ईमेल एड्रेस सार्वजनिक नहीं करना चाहते हैं, तो GitHub हर अकाउंट को 12345678+yourname@users.noreply.github.com जैसा एक no-reply एड्रेस देता है, जो ईमेल सेटिंग्स पेज पर उपलब्ध होता है। यहाँ उसी का उपयोग करें।
20 से 35 मिनट: आपका पासवर्ड काम नहीं करेगा, इसलिए एक key सेट करें
Git, HTTPS या SSH (secure shell, वह encrypted protocol जिसका उपयोग आप सर्वर तक पहुँचने के लिए भी करते हैं, देखें SSH क्या है और key-आधारित लॉगिन कैसे काम करता है) के माध्यम से GitHub तक पहुँचता है। आपका अकाउंट पासवर्ड दोनों पर अस्वीकार कर दिया जाता है। पासवर्ड के साथ HTTPS पर push करने पर यह त्रुटि आती है:
remote: Support for password authentication was removed on August 13, 2021.
fatal: Authentication failed for 'https://github.com/yourname/my-first-site.git'HTTPS पर इसका विकल्प एक personal access token है, जिसे Settings, Developer settings के अंतर्गत बनाया जाता है और पासवर्ड की जगह टाइप किया जाता है। SSH पर इसका विकल्प एक key pair है, जिसे आने वाले वर्षों में बार-बार टाइप नहीं करना पड़ता। एक key बनाएँ:
ssh-keygen -t ed25519 -C "you@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pubडिफ़ॉल्ट फ़ाइल पथ स्वीकार करने के लिए Enter दबाएँ। passphrase प्रॉम्प्ट वैकल्पिक है, लेकिन इसे सेट करना फायदेमंद है, क्योंकि यदि कोई आपकी private key फ़ाइल कॉपी कर लेता है, तो वह आपके अकाउंट से उस key को हटाने तक आपकी ओर से push कर सकता है।
ssh-keygen दो फ़ाइलें लिखता है। ~/.ssh/id_ed25519 private key है और यह कभी भी इस मशीन से बाहर नहीं जानी चाहिए। ~/.ssh/id_ed25519.pub public हिस्सा है, और यही वह है जिसे cat ने अभी प्रिंट किया है। पूरी लाइन को कॉपी करें, जो ssh-ed25519 से शुरू होती है, और फिर इसे GitHub में Settings, SSH and GPG keys, New SSH key के अंतर्गत पेस्ट करें।
जरूरत पड़ने से पहले इसका परीक्षण करें:
ssh -T git@github.comपहला कनेक्शन आपसे host fingerprint की पुष्टि करने के लिए कहेगा। yes टाइप करें। एक सफल परिणाम एक लाइन का होगा:
Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.यह संदेश सफलता का संकेत है। GitHub वास्तव में कोई shell प्रदान नहीं करता है, और यह greeting साबित करती है कि आपकी key स्वीकार कर ली गई है। Permission denied (publickey). का मतलब है कि यह स्वीकार नहीं की गई, आमतौर पर इसलिए क्योंकि पेस्ट किया गया टेक्स्ट private फ़ाइल थी, या public लाइन का केवल एक हिस्सा था, या इसे किसी अलग अकाउंट में जोड़ा गया था। यदि कमांड hang हो जाती है और time out हो जाती है, तो आपका नेटवर्क outbound port 22 को ब्लॉक कर रहा है, जो कॉलेज और ऑफिस के Wi-Fi पर आम है। GitHub port 443 पर भी SSH का उत्तर देता है, इसलिए ssh -T -p 443 git@ssh.github.com अधिकांश ऐसे नेटवर्कों से निकल जाता है, और remote host को port 443 के साथ ssh.github.com पर सेट करने से git उसी पथ का उपयोग करता है।
मिनट 35 से 45: स्थानीय कार्य को GitHub पर भेजने वाले तीन कमांड
इनमें से कुछ कमांड प्रति प्रोजेक्ट केवल एक बार चलाने होते हैं। तीन कमांड ऐसे हैं जिनका उपयोग आप जीवन भर करेंगे। अपने कोड वाले फोल्डर से शुरुआत करें।
cd ~/projects/my-first-site
git init -b main
git add .
git commit -m "First commit"
git remote add origin git@github.com:yourname/my-first-site.git
git pull --rebase origin main
git push -u origin mainपंक्ति-दर-पंक्ति विवरण:
git init -b mainइस डायरेक्टरी में एक छिपा हुआ.gitफोल्डर बनाता है औरmainनाम की ब्रांच पर हिस्ट्री शुरू करता है। यह प्रति प्रोजेक्ट एक बार करना होता है।git add .उन सभी फाइलों को स्टेज करता है जिन्हें.gitignoreबाहर नहीं रखता है। स्टेजिंग का अर्थ है अगली कमिट में शामिल करने के लिए फाइल को चिह्नित करना।git commit -m "First commit"स्टेज की गई फाइलों को एक संदेश के साथ एक स्नैपशॉट के रूप में सहेजता है।git remote add origin git@github.com:...GitHub पते कोoriginसंक्षिप्त नाम के तहत स्टोर करता है। यह प्रति प्रोजेक्ट एक बार करना होता है।git pull --rebase origin mainGitHub द्वारा आपके लिए बनाई गई README कमिट को फेच करता है और आपकी कमिट को उसके ऊपर रिप्ले करता है।git push -u origin mainआपकी कमिट्स को GitHub पर भेजता है।-uइस पेयरिंग को रिकॉर्ड करता है, इसलिए बाद में पुश करने के लिए केवलgit pushपर्याप्त है।
pull --rebase लाइन इसलिए आवश्यक है क्योंकि आपने "Add a README file" को टिक किया था, जिसका अर्थ है कि GitHub पर पहले से ही एक कमिट मौजूद है जिसे आपकी मशीन ने नहीं देखा है। जब रिमोट पर ऐसी कमिट्स हों जो आपकी स्थानीय हिस्ट्री में नहीं हैं, तो Git पुश करने से मना कर देता है, क्योंकि पुश करने से वे कमिट्स हट सकती हैं। यदि आप इस लाइन को छोड़ देते हैं, तो आपको यह त्रुटि मिलेगी:
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'github.com:yourname/my-first-site.git'यदि आपके स्थानीय फोल्डर में पहले से ही अपनी README.md मौजूद थी, तो रिबेस उस फाइल में कॉन्फ्लिक्ट (conflict) आने पर रुक जाएगा। उसे खोलें, जो टेक्स्ट आप रखना चाहते हैं उसे रखें, <<<<<<< मार्कर लाइनों को हटा दें, और फिर git add README.md के बाद git rebase --continue चलाएं।
परिणाम की जाँच करें:
git status
git log --onelinegit status में nothing to commit, working tree clean लिखा आना चाहिए और यह रिपोर्ट मिलनी चाहिए कि आपकी ब्रांच origin/main के साथ अप-टू-डेट है। git log --oneline में आपकी कमिट और README कमिट की सूची दिखनी चाहिए। ब्राउज़र में रिपॉजिटरी पेज को रीलोड करें, आपकी फाइलें वहाँ दिखाई देंगी।
यहाँ से, हर बार जब आप कुछ भी बदलें, तो यह तीन कमांड का लूप अपनाएं:
git add .
git commit -m "Describe what changed"
git pushदो प्रकार की विफलताएं (failures) ध्यान देने योग्य हैं। पुश करते समय error: src refspec main does not match any का अर्थ है कि main पर अभी तक कोई कमिट मौजूद नहीं है, जिसका मतलब है कि git commit चरण विफल रहा या कभी चला ही नहीं। जब आप जानते हैं कि आपने फाइलें एडिट की हैं लेकिन nothing to commit, working tree clean दिखाई देता है, तो इसका मतलब है कि आप गलत डायरेक्टरी में हैं, या .gitignore उन्हें बाहर रख रहा है। git status --ignored यह दिखाएगा कि कौन सी फाइलें शामिल नहीं हैं।
Commit, branch और pull request क्या हैं
Commit एक निश्चित समय पर पूरे प्रोजेक्ट का एक सहेजा गया स्नैपशॉट है, जिसमें एक संदेश, लेखक और टाइमस्टैम्प होता है। यह एक बार में सभी ट्रैक की गई फाइलों को कवर करता है, यही कारण है कि पुराने commit को checkout करने पर आपको एक ऐसी प्रोजेक्ट स्थिति मिलती है जो पूरी तरह काम करती है, न कि केवल एक रिस्टोर की गई फाइल।
Branch एक commit की ओर इशारा करने वाला एक परिवर्तनीय नाम है। इसे बनाने में कोई लागत नहीं आती है, और इस पर किया गया काम तब तक main को प्रभावित नहीं करता जब तक आप उसे merge नहीं करते। main डिफ़ॉल्ट branch है, और यह वह संस्करण है जिसे विज़िटर सबसे पहले देखते हैं।
एक pull request, जिसे PR भी लिखा जाता है, एक branch को दूसरी branch में merge करने का अनुरोध है। यह परिवर्तनों, चर्चा और किसी भी स्वचालित जांच को एक ही पेज पर इकट्ठा करता है। एक टीम में, वह पेज वह जगह है जहाँ समीक्षा (review) होती है। अपनी खुद की रिपॉजिटरी पर PR वैकल्पिक है, हालाँकि यह इस बात का लिखित रिकॉर्ड रखता है कि प्रत्येक परिवर्तन क्यों किया गया था।
git switch -c add-contact-page
git add .
git commit -m "Add contact page"
git push -u origin add-contact-pagePush करने पर एक लिंक दिखाई देता है जो आपको उस branch के लिए pull request खोलने के लिए आमंत्रित करता है। इसे खोलें, अपने स्वयं के परिवर्तनों को वैसे ही पढ़ें जैसे एक समीक्षक पढ़ेगा, और फिर merge करें।
README और contribution graph किस लिए हैं
README आपका मुख्य पृष्ठ है। GitHub फाइल सूची के ठीक नीचे README.md को रेंडर करता है, इसलिए यह पहली चीज है जिसे कोई आगंतुक पढ़ता है और अधिकांश रिपॉजिटरी के लिए, यह एकमात्र चीज है। इसमें चार बातें लिखें:
- प्रोजेक्ट क्या करता है, एक वाक्य में, बिना किसी तकनीकी शब्दावली के।
- इसे कैसे चलाएं, उन कमांड्स के रूप में जिन्हें कोई भी कॉपी कर सके।
- इसे सबसे पहले क्या चाहिए: भाषा का संस्करण, डेटाबेस, API keys।
- यह किस स्थिति में है। "सीखने के लिए बनाया गया प्रोजेक्ट, मेंटेन नहीं किया जा रहा" एक ईमानदार और उपयोगी पंक्ति है।
एक दूसरा README दस मिनट और देने लायक है। एक ऐसी रिपॉजिटरी बनाएं जिसका नाम बिल्कुल आपके यूजरनेम जैसा हो, उसमें एक README.md रखें, और GitHub उस फाइल को आपके प्रोफाइल पेज के सबसे ऊपर रेंडर कर देगा। आप क्या सीख रहे हैं और आपने क्या बनाया है, इसके बारे में एक छोटा पैराग्राफ आगंतुक को आधे-अधूरे प्रोजेक्ट्स की सूची से कहीं ज्यादा जानकारी देता है।
रिक्रूटर्स इस प्रोफाइल को देखते हैं, और वे आमतौर पर इस पर एक मिनट से भी कम समय बिताते हैं। वे प्रोफाइल खोलते हैं, पिन की गई रिपॉजिटरी पर एक नजर डालते हैं, और एक README के शीर्ष को पढ़ते हैं। छह छोटे प्रोजेक्ट्स जो प्रत्येक एक नई मशीन पर शुरू होते हैं, और जिनमें से प्रत्येक का README स्पष्ट है, एक ऐसे बड़े प्रोजेक्ट से बेहतर माने जाते हैं जिसे कोई चला ही न सके।
Contribution graph आपके प्रोफाइल पर वर्गों (squares) का ग्रिड है। यह commits, pull requests, issues और reviews को गिनता है। दो नियम तय करते हैं कि आपका काम दिखाई देगा या नहीं। Commit में आपके GitHub अकाउंट से जुड़ी एक ईमेल आईडी होनी चाहिए, इसीलिए पहले बताया गया git config user.email चरण महत्वपूर्ण है। Commit को आपके स्वामित्व वाली रिपॉजिटरी की डिफ़ॉल्ट ब्रांच पर होना चाहिए, न कि किसी fork में। निजी योगदान गिने तो जाते हैं लेकिन छिपे रहते हैं, और एक प्रोफाइल सेटिंग उन्हें गुमनाम वर्गों के रूप में दिखाती है।
ग्राफ को मैनेज न करें। एक दैनिक commit जो केवल एक अक्षर बदलता है, उसे क्लिक करने वाले किसी भी व्यक्ति को दिखाई देता है, और यह एक खाली सप्ताह से भी बुरा दिखता है। ग्राफ काम का रिकॉर्ड है। यह खुद काम नहीं है।
GitHub आपके लिए क्या नहीं चलाएगा
GitHub कोड स्टोर करता है और छोटे जॉब्स चलाता है। यह किसी रनिंग एप्लिकेशन को होस्ट नहीं करता है, और यह सीमा अधिकांश शुरुआती प्रोजेक्ट्स के लिए बाधा बनती है।
GitHub Pages केवल स्टेटिक फाइलें सर्व करता है: HTML, CSS, JavaScript और इमेजेज। यह पोर्टफोलियो साइट, प्रोजेक्ट डॉक्यूमेंटेशन, या स्टेटिक साइट जनरेटर द्वारा बनाई गई किसी भी चीज़ के लिए एक अच्छा विकल्प है। यह अनुरोध मिलने पर PHP, Python या Node को एक्जीक्यूट नहीं करता है, इसलिए लॉगिन फॉर्म, शॉपिंग कार्ट या एडमिन पैनल के लिए यहाँ कुछ भी रन करने की सुविधा नहीं है।
GitHub Actions CI (कंटीन्यूअस इंटीग्रेशन, पुश द्वारा ट्रिगर किए गए ऑटोमेटेड जॉब्स) चलाता है। एक रनर बूट होता है, आपके टेस्ट या बिल्ड को चलाता है, और फिर नष्ट हो जाता है। रन के बीच कोई प्रोसेस जीवित नहीं रहती, कोई डिस्क सुरक्षित नहीं रहती, और फ्री अकाउंट्स को हर महीने कुछ मिनटों का कोटा मिलता है। जब आपको उन जॉब्स को अपने कंट्रोल वाले हार्डवेयर पर या उस कोटे से अधिक चलाने की आवश्यकता हो, तो अपने स्वयं के मशीन पर एक self-hosted Actions runner सेट करें।
GitHub जो बिल्कुल नहीं करता है वह यह है: अनुरोधों के बीच आपके एप्लिकेशन सर्वर को जीवित रखना, आपका डेटाबेस चलाना, बैकग्राउंड वर्कर को खुला रखना, वास्तविक शेड्यूल पर क्रॉन जॉब चलाना, या आपके उपयोगकर्ताओं द्वारा अपलोड की गई फाइलों को स्टोर करना। इन सबके लिए एक ऐसी मशीन की आवश्यकता होती है जो हमेशा चालू रहे और आपकी हो, जो कि VPS क्या है और यह आपको क्या देता है का विषय है। एक छोटे प्रोजेक्ट का सामान्य स्वरूप यह है: GitHub पर कोड, सर्वर पर रनिंग एप्लिकेशन, और इन दोनों को जोड़ने वाला एक डिप्लॉय स्टेप। यदि आपने AI कोडिंग असिस्टेंट के साथ कुछ बनाया है और चाहते हैं कि अन्य लोग उस तक पहुँच सकें, तो उस जनरेटेड ऐप को VPS पर डालना इसी विभाजन को शुरू से अंत तक पूरा करता है।
आप रिपॉजिटरी को पूरी तरह से GitHub से बाहर भी रख सकते हैं। आपके अपने सर्वर पर एक Gitea या Forgejo इंस्टेंस उन सटीक कमांड्स का उत्तर देता है जो आपने अभी सीखे हैं, और self-hosted git server के विकल्प यह बताते हैं कि आप क्या हासिल करते हैं और क्या जिम्मेदारी लेते हैं। पहले यहाँ वर्कफ़्लो सीखें। कमांड्स नहीं बदलते हैं।
FAQ
क्या GitHub मुफ्त है, और Student Developer Pack क्या अतिरिक्त सुविधाएँ देता है?
मुफ्त प्लान में इस गाइड में बताई गई सभी चीजें शामिल हैं। अगस्त 2026 तक, इसमें असीमित पब्लिक और प्राइवेट रिपॉजिटरी, उन पर सहयोग करने वाले लोग, और GitHub Actions के लिए मासिक मिनटों का कोटा शामिल है। GitHub Student Developer Pack, GitHub Education के माध्यम से एक अलग आवेदन प्रक्रिया है। आपके स्कूल में नामांकित होने की पुष्टि होने के बाद इसे मंजूरी दी जाती है, और यह GitHub की अपनी सुविधाओं के अलावा अन्य कंपनियों के ऑफर्स भी प्रदान करता है। अपनी पात्रता की जाँच करें और आवेदन करें। यदि आवेदन अस्वीकार कर दिया जाता है, तो भी यहाँ वर्णित कोई भी कार्यक्षमता प्रभावित नहीं होती है।
मेरा push "Support for password authentication was removed" के साथ विफल क्यों हो रहा है?
क्योंकि GitHub ने 13 अगस्त 2021 से HTTPS के माध्यम से git के लिए अकाउंट पासवर्ड स्वीकार करना बंद कर दिया है। पासवर्ड अभी भी आपको वेबसाइट पर लॉग इन करने की अनुमति देता है, लेकिन git को अब अलग क्रेडेंशियल्स की आवश्यकता होती है। या तो Settings, Developer settings के अंतर्गत एक personal access token बनाएँ और उसे वहाँ पेस्ट करें जहाँ git पासवर्ड मांगता है, या एक SSH key जोड़ें और git remote set-url origin git@github.com:yourname/project.git के साथ remote को स्विच करें। दोबारा push करने से पहले पुष्टि करें कि key ssh -T git@github.com के साथ काम कर रही है।
मेरे commits मेरे contribution graph पर क्यों नहीं दिख रहे हैं?
इसका कारण लगभग हमेशा commit email होता है। GitHub एक commit को उसके अंदर मौजूद ईमेल पते का आपके अकाउंट से मिलान करके जोड़ता है। इसलिए, गलत टाइप किया गया या पुराना git config user.email ऐसे commits बनाता है जो रिपॉजिटरी में आपका नाम तो दिखाते हैं, लेकिन किसी प्रोफाइल से लिंक नहीं होते। अपने अंतिम commit पर ईमेल पता पढ़ने के लिए git log -1 --format='%ae' चलाएँ, फिर उस पते को अपने अकाउंट में जोड़ें या config को सही करें। इसे ठीक करने से भविष्य के commits पर असर पड़ेगा, पुराने commits दोबारा नहीं लिखे जाएंगे। साथ ही, commit का आपके स्वामित्व वाली रिपॉजिटरी की default branch पर होना आवश्यक है, न कि किसी fork पर।
क्या रिक्रूटर्स वास्तव में मेरी GitHub प्रोफाइल देखते हैं?
हाँ, और वे इसे संक्षेप में देखते हैं। वे प्रोफाइल खोलते हैं, pinned रिपॉजिटरी को स्कैन करते हैं, और किसी एक README की पहली कुछ पंक्तियाँ पढ़ते हैं। इसलिए, जो काम सबसे अधिक फायदेमंद है, वह है कुछ चुनिंदा प्रोजेक्ट्स को समझने में आसान बनाना: एक स्पष्ट नाम, एक वाक्य में उसका विवरण, और ऐसे setup commands जो वास्तव में एक साफ मशीन पर चलते हों। वे contribution graph पर एक नज़र डालते हैं, क्योंकि एक हरा वर्ग केवल यह साबित करता है कि commit किया गया था, यह नहीं कि वह काम कितना महत्वपूर्ण था।
क्या GitHub मेरी वेबसाइट और मेरे backend को होस्ट कर सकता है?
GitHub Pages वेबसाइट को तब होस्ट करता है जब वह static फाइलों से बनी हो। यह कोई server-side कोड नहीं चलाता है, इसलिए यह Django, Express या Laravel एप्लिकेशन को सर्व नहीं कर सकता, डेटाबेस से बात नहीं कर सकता, और न ही scheduled jobs चला सकता है। इनके लिए एक ऐसी मशीन की आवश्यकता होती है जो लगातार चलती रहे, जो कि एक VPS प्रदान करता है। सामान्य तरीका यह है कि कोड को GitHub पर रखा जाए और वहाँ से उसे उस सर्वर पर deploy किया जाए।