GitHub प्रोफ़ाइल README और छह पिन किए गए रिपॉज़िटरी
नए GitHub अकाउंट को सबूत जैसी प्रोफ़ाइल में बदलिए: username वाली खास रिपॉज़िटरी, छोटा README, छह पिन चुनने का तरीका, और हरे चौकोर क्या साबित करते हैं।
GitHub प्रोफ़ाइल README क्या है
GitHub प्रोफ़ाइल README एक साधारण README.md फ़ाइल है जो एक खास public रिपॉज़िटरी में रहती है, और उस रिपॉज़िटरी का नाम हूबहू आपके username जैसा होना चाहिए। GitHub उस फ़ाइल को आपके प्रोफ़ाइल पेज पर सबसे ऊपर दिखाता है, pinned रिपॉज़िटरी से भी पहले। यह वही पहली स्क्रीन है जो कोई recruiter या कोई सीनियर देखता है जब वह आपका GitHub लिंक खोलता है।
GitHub होता क्या है, यह यहाँ दोबारा नहीं समझाएँगे। अकाउंट अभी बना ही है तो GitHub असल में क्या है और GitHub पर आपका पहला घंटा पहले पढ़िए, फिर यहाँ लौटिए। यह पेज एक ही काम करता है: एक नए अकाउंट को ऐसी प्रोफ़ाइल में बदलना जो सबूत की तरह पढ़ी जाए।
एक बात शुरू में साफ़ कर लेते हैं। कोई reviewer आपकी प्रोफ़ाइल पर मिनटों नहीं बिताता। वह ऊपर का README पढ़ता है, एक pin खोलता है, उस रिपॉज़िटरी का README देखता है, और आगे चला जाता है। इसलिए मेहनत उन्हीं दो स्क्रीनों पर लगनी चाहिए, हरे चौकोरों पर नहीं।
पहले देखिए कि आपका commit किस पहचान से जा रहा है
यह क़दम सबसे पहले इसलिए है क्योंकि गलत email से किए गए commit बाद में आसानी से ठीक नहीं होते। Git हर commit के अंदर वही नाम और email लिख देता है जो उस समय set था।
git config --global user.name "Aarti Sharma"
git config --global user.email "aarti@example.com"
git log -1 --format='%an <%ae>'आख़िरी कमांड आपके पिछले commit का लेखक दिखाती है। वह email आपके GitHub अकाउंट से जुड़ा होना चाहिए, वरना GitHub उस commit को आपसे जोड़ता ही नहीं: वह contribution graph में नहीं गिना जाता, और commit के आगे आपकी तस्वीर की जगह एक खाली avatar दिखता है। जुड़े हुए पते GitHub पर Settings > Emails में दिखते हैं।
अपना असली email public नहीं करना चाहते, तो GitHub का दिया हुआ noreply पता इस्तेमाल कीजिए। वह 12345678+aarti@users.noreply.github.com जैसा दिखता है और उसी Settings > Emails पेज पर मिलता है। उसे git config --global user.email में डाल दीजिए। यह पता आपके अकाउंट से जुड़ा माना जाता है, इसलिए commit गिने भी जाते हैं और आपका असली पता किसी को नहीं दिखता।
push करते समय HTTPS पर पासवर्ड नहीं चलेगा। GitHub ने 13 अगस्त 2021 को यह बंद कर दिया था, और अब कोशिश करने पर यह लाइन मिलती है:
remote: Support for password authentication was removed on August 13, 2021.इसका मतलब है कि या तो personal access token चाहिए, या SSH key। लंबे समय के लिए SSH आसान पड़ता है, और SSH असल में करता क्या है उसी की बुनियाद समझाता है।
username वाली खास रिपॉज़िटरी कैसे बनाएँ
प्रोफ़ाइल README के लिए GitHub चार शर्तें रखता है। चारों पूरी होने पर ही वह प्रोफ़ाइल पर आता है।
- रिपॉज़िटरी का नाम आपके username से हूबहू मिलता हो।
- रिपॉज़िटरी public हो।
- उसकी जड़ में
README.mdनाम की फ़ाइल हो, किसी folder के अंदर नहीं। - उस फ़ाइल में कुछ लिखा हो।
नई रिपॉज़िटरी बनाते समय Repository name में जैसे ही आप अपना username लिखेंगे, form के नीचे एक हरा नोट आ जाएगा जो उस रिपॉज़िटरी को special बताता है। वह नोट आपकी सबसे भरोसेमंद जाँच है। नोट न दिखे तो नाम में कहीं फ़र्क है, अक्सर एक अतिरिक्त अक्षर या कोई hyphen।
"Add a README file" पर टिक लगाइए और रिपॉज़िटरी बना लीजिए। छोटे बदलाव browser में ही करना सबसे तेज़ है: फ़ाइल खोलिए, पेंसिल आइकॉन दबाइए, लिखिए, फिर Commit changes। अपने लैपटॉप से काम करना हो तो:
git clone git@github.com:aarti/aarti.git
cd aarti
git add README.md
git commit -m "Add profile README"
git push origin mainHTTPS पसंद हो तो रिपॉज़िटरी पेज पर हरे Code बटन से पूरा URL copy कर लीजिए, हाथ से मत लिखिए। push के बाद अपनी प्रोफ़ाइल खोलिए। README pinned हिस्से के ऊपर एक बॉक्स में दिखना चाहिए। न दिखे तो ऊपर की चारों शर्तें दोबारा मिलाइए, क्योंकि GitHub इस मामले में कोई error नहीं दिखाता। वह बस कुछ नहीं दिखाता, और यही इसे पकड़ना मुश्किल बनाता है।
एक पुराना अपवाद भी है। जुलाई 2020 से पहले बनी ऐसी रिपॉज़िटरी, जिसका नाम पहले से आपके username जैसा था, अपने आप प्रोफ़ाइल पर नहीं आती। उसे रिपॉज़िटरी पेज से खुद प्रोफ़ाइल पर share करना पड़ता है।
प्रोफ़ाइल README में क्या लिखें, और कितना छोटा रखें
आठ से बारह लाइन काफ़ी हैं। इसे परिचय समझिए, biodata नहीं। पढ़ने वाला यही जानना चाहता है कि आप बनाते क्या हैं, अभी किस पर काम कर रहे हैं, और आपसे संपर्क कैसे होगा।
### नमस्ते, मैं आरती हूँ
मैं Python और Django में backend API बनाती हूँ। अभी BTech के तीसरे साल में हूँ
और PostgreSQL पर काम कर रही हूँ।
- अभी बना रही हूँ: attendance-api, कॉलेज की हाज़िरी के लिए एक REST API
- पिछला काम: bus-tracker, Django और Leaflet पर बना नक्शा
- ईमेल: aarti@example.comबस इतना। हर लाइन पढ़ने वाले को कुछ नया बताती है, और कोई लाइन खाली जगह नहीं भरती।
अब वह हिस्सा जो नहीं डालना है। streak और trophy वाली रंगीन image किसी तीसरी party की service से आती हैं। वह service धीमी हो जाए या बंद हो जाए, तो आपकी प्रोफ़ाइल के सबसे ऊपर एक टूटी हुई image रह जाती है, और उसकी सूचना आपको कोई नहीं देगा। बीस भाषाओं के icon भी कुछ साबित नहीं करते, क्योंकि दावा करना आसान है और चलता हुआ कोड दिखाना मुश्किल। अपना फ़ोन नंबर या घर का पता यहाँ कभी मत लिखिए: यह पेज पूरी दुनिया के लिए खुला है और search engine इसे index करते हैं।
GitHub यहाँ markdown समझता है, इसलिए heading, bullet, bold और link सब चलते हैं। <script> नहीं चलता, इसलिए किसी animation की उम्मीद मत रखिए।
छह पिन कैसे चुनें, और खाली pin सबसे ज़्यादा नुकसान क्यों करता है
अपनी प्रोफ़ाइल पर pinned हिस्से में "Customize your pins" लिंक दबाइए। सितंबर 2026 तक GitHub छह चीज़ें pin करने देता है, और उन छह में repository तथा gist दोनों गिने जाते हैं। चुनने के बाद "Save pins" दबाइए। बाद में हर pin के कोने में मौजूद grabber icon से उन्हें खींचकर क्रम बदला जा सकता है।
क्रम मायने रखता है। सबसे मज़बूत काम पहले खाने में रखिए, क्योंकि नीचे की कतार तक बहुत कम लोग पहुँचते हैं।
pin card पर गिनी चुनी चीज़ें दिखती हैं: रिपॉज़िटरी का नाम, उसका About description, मुख्य भाषा, और star की संख्या। इसका सीधा नतीजा यह है कि About खाली छोड़ने पर आपका card आधा खाली दिखता है। रिपॉज़िटरी पेज पर दाईं ओर About के आगे गियर आइकॉन दबाइए और एक वाक्य लिखिए जो बताए कि यह चीज़ करती क्या है।
अब सबसे ज़रूरी बात। एक खाली रिपॉज़िटरी pin करना, कुछ भी pin न करने से बुरा है। खाली pin पर कोई click करता है, और उसे एक ख़ाली README, दो commit और कोई काम का कोड नहीं मिलता। उस एक click ने आपके बारे में एक बात तय कर दी जो आप कहना नहीं चाहते थे। तीन पूरे प्रोजेक्ट छह अधूरे प्रोजेक्ट से बेहतर पढ़े जाते हैं, इसलिए खाने खाली छोड़ने में कोई शर्म नहीं है।
कोर्स के साथ बनाया गया todo app भी pin किया जा सकता है, बशर्ते आपने उसमें अपना कुछ जोड़ा हो और README में साफ़ लिखा हो कि आपने क्या बदला। जस का तस tutorial clone सिर्फ़ यह बताता है कि आप निर्देश follow कर सकते हैं, जो सच है पर बहुत छोटी बात है।
fork किया हुआ रिपॉज़िटरी pin करने पर card पर "forked from" लिखा दिखता है। यह तभी अच्छा लगता है जब आपने उसमें सच में कुछ भेजा हो। ध्यान रहे कि fork में किए गए commit contribution graph में नहीं गिने जाते, इसलिए वह काम दिखाना है तो README में उस pull request का ज़िक्र कीजिए।
एक रिपॉज़िटरी अजनबी को भरोसेमंद कब लगती है
README जो बताए कि यह क्या करता है और कैसे चलता है
पहली लाइन में एक वाक्य: यह प्रोजेक्ट किस समस्या को हल करता है। उसके बाद चलाने के steps, ऐसे कि कोई उन्हें copy करके अपने टर्मिनल में चिपका सके।
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserverफिर एक लाइन जो बताए कि सही चलने पर क्या दिखेगा, जैसे "टर्मिनल में Starting development server at वाली लाइन आनी चाहिए"। यही लाइन README को दस्तावेज़ से जाँच में बदल देती है, क्योंकि अब पढ़ने वाला मिलान कर सकता है कि उसके यहाँ क्या हुआ। जिन steps को आपने खुद एक साफ़ मशीन पर नहीं चलाया, उन्हें README में मत लिखिए। अधूरा README पढ़ने वाले को पहले ही मिनट में रोक देता है, और वह लौटकर नहीं आता।
LICENSE के बिना कोई आपका कोड इस्तेमाल नहीं कर सकता
Public होने का मतलब खुला होना नहीं है। बिना LICENSE फ़ाइल के आपके कोड पर सामान्य copyright लागू रहता है, यानी कोई दूसरा उसे क़ानूनी तौर पर इस्तेमाल, बदल या दोबारा प्रकाशित नहीं कर सकता, भले ही वह GitHub पर सबको दिख रहा हो।
जोड़ना आसान है। रिपॉज़िटरी में Add file > Create new file दबाइए, फ़ाइल का नाम LICENSE लिखिए, और दाईं ओर "Choose a license template" बटन आ जाएगा। छात्र प्रोजेक्ट के लिए MIT सबसे सीधा विकल्प है: छोटा, पढ़ने लायक, और हर जगह पहचाना जाता है। विकल्पों की तुलना देखनी हो तो choosealicense.com पर मिल जाएगी।
commit history जो एक ही dump न लगे
Reviewer अक्सर रिपॉज़िटरी के ऊपर commits की गिनती पर click करता है। वहाँ अगर एक ही दिन का एक commit है जिसका message final या update है, तो कहानी साफ़ है: कोड कहीं और बना और यहाँ सिर्फ़ upload हुआ। इससे यह पता ही नहीं चलता कि आपने प्रोजेक्ट को कैसे बनाया।
वही देखिए जो reviewer देखेगा:
git log --oneline -10काम करते हुए छोटे commit कीजिए, हर बार जब एक चीज़ चलने लगे। message की पहली लाइन छोटी रखिए और बताइए कि बदलाव करता क्या है, जैसे Add student list endpoint. यह सजावट नहीं है: छह महीने बाद जब आप खुद यह प्रोजेक्ट खोलेंगे, यही लाइनें आपको याद दिलाएँगी कि उस दिन क्या हो रहा था।
कोड AI tool की मदद से लिखा है तो उसे छिपाइए मत। commit में लेखक किसे लिखा जाए, इसका एक तय तरीका होता है, और AI से बने commit का attribution उसी को खोलता है। किसी open source प्रोजेक्ट में पैच भेजने से पहले AI की मदद से लिखे कोड पर प्रोजेक्ट क्या नीति रखते हैं देख लेना बेहतर है, क्योंकि नियम हर प्रोजेक्ट का अपना है।
.env कभी commit मत कीजिए
पहले दिन ही .gitignore बना लीजिए और उसमें .venv/, node_modules/, .env और *.log डाल दीजिए। कोई API key गलती से commit हो गई, तो सिर्फ़ फ़ाइल हटाना काफ़ी नहीं होता। git rm --cached .env उसे अगले commit से हटाता है, पर वह पुराने commit में जस की तस पड़ी रहती है और कोई भी git log -p चलाकर पढ़ सकता है। ऐसी हालत में असली काम यह है कि उस key को service में जाकर तुरंत रद्द करें और नई बनाएँ।
contribution graph क्या साबित करता है और क्या नहीं
सीधी बात पहले: हरे चौकोर hiring signal नहीं हैं। placement के मौसम में "365 दिन का streak" वाली सलाह बहुत घूमती है, और वह ज़्यादातर समय की बर्बादी है।
वजह तकनीकी है। graph एक गिनती है, गुणवत्ता की माप नहीं। एक cron job जो रोज़ एक फ़ाइल में तारीख़ लिखकर commit कर दे, वह आपका पूरा साल हरा कर देगा। यह इतना आसान है कि हर reviewer इसे जानता है, इसलिए वह graph देखने की जगह एक रिपॉज़िटरी खोलता है।
graph में क्या गिना जाता है, यह भी सीमित है:
- default branch या
gh-pagesbranch पर किए गए commit - खोले गए issue
- खोले गए pull request
- pull request पर की गई review
और ये नहीं गिने जाते: किसी fork में किए गए commit, ऐसे commit जिनका email आपके अकाउंट से जुड़ा नहीं है, और किसी side branch का काम जो कभी default branch में नहीं पहुँचा। शर्तें पूरी होने के बाद भी graph पर दिखने में 24 घंटे तक लग सकते हैं, इसलिए तुरंत घबराइए मत।
खाली graph आपको बाहर नहीं करवाता। कमज़ोर रिपॉज़िटरी करवाती है। graph का असली उपयोग आपके अपने लिए है: यह ईमानदारी से दिखा देता है कि पिछले महीने आपने कुछ बनाया या सिर्फ़ पढ़ा।
कुछ काम न करे तो: लक्षण और असली वजह
प्रोफ़ाइल README दिख ही नहीं रहा। रिपॉज़िटरी private है, या नाम username से हूबहू नहीं मिलता, या फ़ाइल जड़ में नहीं है, या उसका नाम README.md नहीं है। जुलाई 2020 से पहले बनी रिपॉज़िटरी हो तो उसे खुद प्रोफ़ाइल पर share करना पड़ेगा। GitHub इनमें से किसी के लिए error नहीं दिखाता।
commit हो गए पर graph खाली है। git log -1 --format='%ae' चलाकर देखिए कि commit किस email से बना, और उसे Settings > Emails की सूची से मिलाइए। नाम अलग हो तो email बदलिए और आगे के commit गिने जाएँगे। पुराने commit वहीं रह जाएँगे।
push मना कर रहा है। यह लाइन बहुत आम है:
! [rejected] main -> main (fetch first)इसका मतलब है कि GitHub पर एक commit मौजूद है जो आपके पास नहीं है, अक्सर वही README जो रिपॉज़िटरी बनाते समय GitHub ने खुद बना दिया था। git pull --rebase origin main चलाइए, फिर दोबारा push कीजिए।
remote: Repository not found. नाम में टाइपिंग की गलती है, या जिस अकाउंट से आप login हैं उसके पास उस रिपॉज़िटरी का अधिकार नहीं है। SSH पर इसकी जगह यह मिल सकता है:
git@github.com: Permission denied (publickey).यानी आपकी key GitHub में जुड़ी ही नहीं है। Settings > SSH and GPG keys में जाकर public key जोड़िए।
pin card आधा खाली लगता है। उस रिपॉज़िटरी का About description भरा नहीं है, इसलिए card पर दिखाने को कुछ है ही नहीं।
आगे क्या करें
प्रोफ़ाइल तैयार हो जाए तो अगला क़दम एक असली पेज है जिसका पता आप resume में लिख सकें। GitHub यह मुफ़्त करता है, और GitHub पर अपनी वेबसाइट होस्ट करना बताता है कि static साइट कैसे चढ़ती है। साथ में मुफ़्त GitHub अकाउंट में क्या क्या मिलता है देख लीजिए, ताकि private रिपॉज़िटरी और Actions की सीमाएँ पहले से पता हों। Git और GitHub को लोग एक ही चीज़ मान लेते हैं, और Git, GitHub और अपने git server का फ़र्क उस उलझन को साफ़ कर देता है। जिस दिन प्रोजेक्ट static फ़ाइलों से आगे बढ़े, यानी उसे चलता हुआ database या background job चाहिए, तब VPS क्या होता है अगला पड़ाव है।
FAQ
मेरा प्रोफ़ाइल README प्रोफ़ाइल पेज पर क्यों नहीं दिख रहा?
चार शर्तों में से कोई एक टूटी है। रिपॉज़िटरी का नाम आपके username से हूबहू मिलना चाहिए, रिपॉज़िटरी public होनी चाहिए, फ़ाइल का नाम README.md होना चाहिए, और वह रिपॉज़िटरी की जड़ में होनी चाहिए, किसी folder के अंदर नहीं। इसके अलावा एक अपवाद है: जुलाई 2020 से पहले बनी ऐसी रिपॉज़िटरी अपने आप प्रोफ़ाइल पर नहीं आती, उसे रिपॉज़िटरी पेज से खुद प्रोफ़ाइल पर share करना पड़ता है। GitHub इनमें से किसी भी हालत में कोई चेतावनी नहीं दिखाता, इसलिए जाँच आपको ही करनी होगी।
क्या contribution graph के हरे चौकोर देखकर नौकरी मिलती है?
नहीं। graph सिर्फ़ गिनती है, गुणवत्ता की माप नहीं, और उसे भरना बहुत आसान है: रोज़ एक फ़ाइल बदलकर commit कर देने वाला cron job पूरा साल हरा कर देगा। यही वजह है कि reviewer graph की जगह एक रिपॉज़िटरी खोलकर उसका README और commit history पढ़ता है। अपना समय एक पूरे प्रोजेक्ट पर लगाइए, streak पर नहीं।
GitHub पर कितनी रिपॉज़िटरी pin की जा सकती हैं और कौन सी चुनें?
सितंबर 2026 तक छह चीज़ें, जिनमें repository और gist दोनों गिने जाते हैं। "Customize your pins" से चुनिए और "Save pins" दबाइए। ऐसी रिपॉज़िटरी चुनिए जिनमें चलने लायक कोड, बताने लायक README और भरा हुआ About description हो। बाकी खाने खाली छोड़ दीजिए, क्योंकि खाली रिपॉज़िटरी pin करने पर पढ़ने वाला उसे खोलता है और वहाँ कुछ नहीं पाता, जो कुछ भी pin न करने से बुरा नतीजा देता है।
मेरे commit contribution graph में क्यों नहीं गिने जा रहे?
सबसे आम वजह email है। commit उसी email से बना होना चाहिए जो आपके GitHub अकाउंट से जुड़ा है, या GitHub के दिए हुए noreply पते से। git log -1 --format='%ae' से पता देखिए और Settings > Emails की सूची से मिलाइए। इसके अलावा commit default branch या gh-pages पर होना चाहिए, और किसी fork में किया गया commit नहीं गिना जाता। सब सही होने पर भी graph पर आने में 24 घंटे तक लग सकते हैं।
क्या हर student प्रोजेक्ट में LICENSE फ़ाइल ज़रूरी है?
अगर आप चाहते हैं कि कोई आपका कोड इस्तेमाल कर सके, तो हाँ। LICENSE के बिना सामान्य copyright लागू रहता है, इसलिए public रिपॉज़िटरी होते हुए भी दूसरे लोग उसे क़ानूनी तौर पर इस्तेमाल या बदल नहीं सकते। रिपॉज़िटरी में Add file > Create new file दबाकर फ़ाइल का नाम LICENSE लिखिए, और GitHub "Choose a license template" बटन दिखा देगा। छात्र प्रोजेक्ट के लिए MIT सबसे सीधा विकल्प है।