# GitHub परिचय यो पाठले GitHub को आधारभूत कुराहरू समेट्छ, जुन तपाईंको कोडलाई होस्ट गर्न र परिवर्तनहरू व्यवस्थापन गर्न प्रयोग गरिने प्लेटफर्म हो। ![GitHub परिचय](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.ne.png) > स्केच नोट [Tomomi Imura](https://twitter.com/girlie_mac) द्वारा ## प्रि-लेक्चर क्विज [प्रि-लेक्चर क्विज](https://ff-quizzes.netlify.app) ## परिचय यस पाठमा हामी निम्न विषयहरू समेट्नेछौं: - तपाईंले आफ्नो मेसिनमा गर्ने कामको ट्र्याकिङ - अरूसँग परियोजनाहरूमा काम गर्ने - ओपन सोर्स सफ्टवेयरमा योगदान कसरी गर्ने ### आवश्यकताहरू सुरु गर्नु अघि, तपाईंले जाँच गर्नुपर्नेछ कि Git स्थापना भएको छ कि छैन। टर्मिनलमा टाइप गर्नुहोस्: `git --version` यदि Git स्थापना भएको छैन भने, [Git डाउनलोड गर्नुहोस्](https://git-scm.com/downloads)। त्यसपछि, आफ्नो स्थानीय Git प्रोफाइल सेटअप गर्नुहोस् टर्मिनलमा: * `git config --global user.name "your-name"` * `git config --global user.email "your-email"` जाँच गर्न कि Git पहिले नै कन्फिगर गरिएको छ कि छैन, तपाईं टाइप गर्न सक्नुहुन्छ: `git config --list` तपाईंलाई GitHub खाता, कोड एडिटर (जस्तै Visual Studio Code), र टर्मिनल (वा: कमाण्ड प्रम्प्ट) खोल्न आवश्यक हुनेछ। [github.com](https://github.com/) मा जानुहोस् र खाता सिर्जना गर्नुहोस् यदि तपाईंले पहिले नै खाता बनाउनु भएको छैन भने, वा लग इन गरेर आफ्नो प्रोफाइल भर्नुहोस्। ✅ GitHub संसारको एकमात्र कोड रिपोजिटरी होइन; अरू पनि छन्, तर GitHub सबैभन्दा प्रख्यात हो। ### तयारी तपाईंलाई आफ्नो स्थानीय मेसिन (ल्यापटप वा पीसी) मा कोड परियोजनाको साथ एक फोल्डर र GitHub मा एक सार्वजनिक रिपोजिटरी आवश्यक हुनेछ, जसले अरूको परियोजनामा ​​कसरी योगदान गर्ने भनेर उदाहरणको रूपमा काम गर्नेछ। --- ## कोड व्यवस्थापन मानौं तपाईंको स्थानीय मेसिनमा कोड परियोजनाको साथ एक फोल्डर छ र तपाईं git - संस्करण नियन्त्रण प्रणाली प्रयोग गरेर आफ्नो प्रगति ट्र्याक गर्न सुरु गर्न चाहनुहुन्छ। केही व्यक्तिहरू git प्रयोगलाई भविष्यको लागि प्रेम पत्र लेख्नसँग तुलना गर्छन्। तपाईंको कमिट सन्देशहरू दिन, हप्ता, वा महिनाहरू पछि पढ्दा तपाईंले किन निर्णय गर्नुभयो भनेर सम्झन सक्नुहुन्छ, वा परिवर्तन "रोलब्याक" गर्न सक्नुहुन्छ - अर्थात्, जब तपाईंले राम्रो "कमिट सन्देशहरू" लेख्नुहुन्छ। ### कार्य: रिपोजिटरी बनाउनुहोस् र कोड कमिट गर्नुहोस् > भिडियो हेर्नुहोस् > > [![Git र GitHub आधारभूत भिडियो](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4) 1. **GitHub मा रिपोजिटरी सिर्जना गर्नुहोस्**। GitHub.com मा, रिपोजिटरी ट्याबमा, वा नेभिगेसन बारको माथि-दायाँ, **नयाँ रिपो** बटन खोज्नुहोस्। 1. आफ्नो रिपोजिटरी (फोल्डर) लाई नाम दिनुहोस्। 1. **रिपोजिटरी सिर्जना गर्नुहोस्** चयन गर्नुहोस्। 1. **आफ्नो कार्य फोल्डरमा जानुहोस्**। टर्मिनलमा, तपाईं ट्र्याक गर्न चाहनुहुने फोल्डर (डाइरेक्टरी) मा स्विच गर्नुहोस्। टाइप गर्नुहोस्: ```bash cd [name of your folder] ``` 1. **Git रिपोजिटरी इनिशियलाइज गर्नुहोस्**। आफ्नो परियोजनामा टाइप गर्नुहोस्: ```bash git init ``` 1. **स्टेटस जाँच गर्नुहोस्**। आफ्नो रिपोजिटरीको स्थिति जाँच गर्न टाइप गर्नुहोस्: ```bash git status ``` आउटपुट केही यस प्रकार देखिन सक्छ: ```output Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: file.txt modified: file2.txt ``` सामान्यतया `git status` कमाण्डले तपाईंलाई जस्तै जानकारी दिन्छ कि कुन फाइलहरू रिपोमा _सेभ_ गर्न तयार छन् वा त्यसमा परिवर्तनहरू छन् जुन तपाईंले कायम राख्न चाहनुहुन्छ। 1. **सबै फाइलहरू ट्र्याकिङका लागि थप्नुहोस्** यसलाई फाइलहरू स्टेजिङ/स्टेजिङ क्षेत्रमा फाइलहरू थप्ने पनि भनिन्छ। ```bash git add . ``` `git add` प्लस `.` तर्कले सबै फाइलहरू र ट्र्याकिङका लागि परिवर्तनहरू संकेत गर्दछ। 1. **चयन गरिएका फाइलहरू ट्र्याकिङका लागि थप्नुहोस्** ```bash git add [file or folder name] ``` जब हामी सबै फाइलहरू एकै पटक कमिट गर्न चाहँदैनौं, यसले हामीलाई केवल चयन गरिएका फाइलहरू स्टेजिङ क्षेत्रमा थप्न मद्दत गर्दछ। 1. **सबै फाइलहरू अनस्टेज गर्नुहोस्** ```bash git reset ``` यो कमाण्डले हामीलाई एकै पटक सबै फाइलहरू अनस्टेज गर्न मद्दत गर्दछ। 1. **विशिष्ट फाइल अनस्टेज गर्नुहोस्** ```bash git reset [file or folder name] ``` यो कमाण्डले हामीलाई एकै पटक केवल एक विशिष्ट फाइल अनस्टेज गर्न मद्दत गर्दछ जुन हामी अर्को कमिटमा समावेश गर्न चाहँदैनौं। 1. **आफ्नो काम कायम राख्नुहोस्**। यस बिन्दुमा तपाईंले फाइलहरूलाई तथाकथित _स्टेजिङ क्षेत्र_ मा थप्नुभएको छ। Git तपाईंको फाइलहरू ट्र्याक गर्दैछ। परिवर्तन स्थायी बनाउन तपाईंले फाइलहरू _कमिट_ गर्न आवश्यक छ। _कमिट_ बनाउन `git commit` कमाण्ड प्रयोग गर्नुहोस्। _कमिट_ तपाईंको रिपोको इतिहासमा एक बचत बिन्दु प्रतिनिधित्व गर्दछ। _कमिट_ बनाउन निम्न टाइप गर्नुहोस्: ```bash git commit -m "first commit" ``` यसले तपाईंको सबै फाइलहरू कमिट गर्दछ, "पहिलो कमिट" सन्देश थप्दै। भविष्यका कमिट सन्देशहरूको लागि, तपाईंले आफ्नो परिवर्तनको प्रकार व्यक्त गर्न थप वर्णनात्मक विवरण प्रयोग गर्न चाहनुहुनेछ। 1. **आफ्नो स्थानीय Git रिपो GitHub सँग जडान गर्नुहोस्**। Git रिपो तपाईंको मेसिनमा राम्रो छ तर कुनै बिन्दुमा तपाईं आफ्नो फाइलहरूको ब्याकअप चाहनुहुन्छ र अरू व्यक्तिहरूलाई तपाईंको रिपोमा काम गर्न आमन्त्रित गर्न चाहनुहुन्छ। यस्तो राम्रो ठाउँ GitHub हो। याद गर्नुहोस् हामीले पहिले नै GitHub मा रिपो सिर्जना गरिसकेका छौं त्यसैले हामीले गर्नुपर्ने एकमात्र कुरा भनेको हाम्रो स्थानीय Git रिपो GitHub सँग जडान गर्नु हो। कमाण्ड `git remote add` ले यो काम गर्नेछ। निम्न कमाण्ड टाइप गर्नुहोस्: > नोट, कमाण्ड टाइप गर्नु अघि GitHub रिपो पेजमा जानुहोस् र रिपोजिटरी URL खोज्नुहोस्। तपाईंले यो URL तलको कमाण्डमा प्रयोग गर्नुहुनेछ। ```https://github.com/username/repository_name.git``` लाई आफ्नो GitHub URL सँग प्रतिस्थापन गर्नुहोस्। ```bash git remote add origin https://github.com/username/repository_name.git ``` यसले "origin" नामक एक _remote_ वा जडान सिर्जना गर्दछ जुन तपाईंले पहिले सिर्जना गर्नुभएको GitHub रिपोजिटरीमा संकेत गर्दछ। 1. **स्थानीय फाइलहरू GitHub मा पठाउनुहोस्**। अहिलेसम्म तपाईंले स्थानीय रिपो र GitHub रिपो बीचमा _जडान_ सिर्जना गर्नुभएको छ। यी फाइलहरू GitHub मा पठाउन निम्न कमाण्ड `git push` प्रयोग गर्नुहोस्: > नोट, तपाईंको ब्रान्च नाम ```main``` भन्दा फरक हुन सक्छ। ```bash git push -u origin main ``` यसले तपाईंको "main" ब्रान्चमा भएका कमिटहरू GitHub मा पठाउँछ। 2. **थप परिवर्तनहरू थप्न**। यदि तपाईं परिवर्तनहरू जारी राख्न र तिनीहरूलाई GitHub मा पठाउन चाहनुहुन्छ भने तपाईंलाई केवल निम्न तीन कमाण्डहरू प्रयोग गर्न आवश्यक हुनेछ: ```bash git add . git commit -m "type your commit message here" git push ``` > टिप, तपाईंले `.gitignore` फाइल अपनाउन पनि चाहन सक्नुहुन्छ ताकि तपाईं ट्र्याक गर्न चाहनुहुन्न फाइलहरू GitHub मा देखिनबाट रोक्न सक्नुहुन्छ - जस्तै नोट्स फाइल जुन तपाईंले त्यही फोल्डरमा भण्डारण गर्नुहुन्छ तर सार्वजनिक रिपोजिटरीमा कुनै स्थान छैन। तपाईं `.gitignore` फाइलहरूको टेम्प्लेट [यहाँ](https://github.com/github/gitignore) पाउन सक्नुहुन्छ। #### कमिट सन्देशहरू एक उत्कृष्ट Git कमिट विषय लाइनले निम्न वाक्य पूरा गर्दछ: यदि लागू गरियो भने, यो कमिट <तपाईंको विषय लाइन यहाँ> विषयको लागि, अनिवार्य, वर्तमान काल प्रयोग गर्नुहोस्: "change" होइन "changed" वा "changes"। विषयमा जस्तै, शरीरमा (वैकल्पिक) पनि अनिवार्य, वर्तमान काल प्रयोग गर्नुहोस्। शरीरले परिवर्तनको प्रेरणा समावेश गर्नुपर्छ र यसलाई अघिल्लो व्यवहारसँग तुलना गर्नुपर्छ। तपाईं `किन` व्याख्या गर्दै हुनुहुन्छ, `कसरी` होइन। ✅ GitHub मा केही समय बिताउनुहोस्। के तपाईं उत्कृष्ट कमिट सन्देश फेला पार्न सक्नुहुन्छ? के तपाईं न्यूनतम सन्देश फेला पार्न सक्नुहुन्छ? तपाईंको विचारमा कमिट सन्देशमा व्यक्त गर्न सबैभन्दा महत्त्वपूर्ण र उपयोगी जानकारी के हो? ### कार्य: सहकार्य गर्नुहोस् GitHub मा चीजहरू राख्ने मुख्य कारण भनेको अन्य विकासकर्ताहरूसँग सहकार्य गर्न सम्भव बनाउनु हो। ## अरूसँग परियोजनाहरूमा काम गर्ने > भिडियो हेर्नुहोस् > > [![Git र GitHub आधारभूत भिडियो](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8) तपाईंको रिपोजिटरीमा, `Insights > Community` मा नेभिगेट गर्नुहोस् ताकि तपाईंको परियोजना सिफारिस गरिएका समुदाय मापदण्डहरूसँग कसरी तुलना हुन्छ हेर्न सक्नुहुन्छ। यहाँ केही चीजहरू छन् जसले तपाईंको GitHub रिपो सुधार गर्न सक्छ: - **विवरण**। के तपाईंले आफ्नो परियोजनाको लागि विवरण थप्नुभएको छ? - **README**। के तपाईंले README थप्नुभएको छ? GitHub ले [README लेख्न](https://docs.github.com/articles/about-readmes/?WT.mc_id=academic-77807-sagibbon) मार्गदर्शन प्रदान गर्दछ। - **योगदान दिशानिर्देश**। के तपाईंको परियोजनामा [योगदान दिशानिर्देशहरू](https://docs.github.com/articles/setting-guidelines-for-repository-contributors/?WT.mc_id=academic-77807-sagibbon) छन्? - **आचार संहिता**। [आचार संहिता](https://docs.github.com/articles/adding-a-code-of-conduct-to-your-project/)। - **लाइसेंस**। सम्भवतः सबैभन्दा महत्त्वपूर्ण, [लाइसेंस](https://docs.github.com/articles/adding-a-license-to-a-repository/)। यी सबै स्रोतहरूले नयाँ टोली सदस्यहरूलाई अनबोर्डिङ गर्न फाइदा पुर्‍याउँछन्। र ती सामान्यतया नयाँ योगदानकर्ताहरूले तपाईंको कोड हेर्नु अघि हेर्ने प्रकारका चीजहरू हुन्, यो पत्ता लगाउन कि तपाईंको परियोजना उनीहरूको समय खर्च गर्नको लागि सही ठाउँ हो। ✅ README फाइलहरू, यद्यपि तिनीहरू तयार गर्न समय लाग्छ, अक्सर व्यस्त मर्मतकर्ताहरूले बेवास्ता गर्छन्। के तपाईं विशेष रूपमा वर्णनात्मक README को उदाहरण फेला पार्न सक्नुहुन्छ? नोट: त्यहाँ केही [उपकरणहरू](https://www.makeareadme.com/) छन् जसले राम्रो README बनाउन मद्दत गर्न सक्छ जुन तपाईंले प्रयास गर्न चाहन सक्नुहुन्छ। ### कार्य: केही कोड मर्ज गर्नुहोस् योगदान दस्तावेजहरूले व्यक्तिहरूलाई परियोजनामा योगदान गर्न मद्दत गर्दछ। यसले तपाईंले खोजिरहेका योगदानहरूको प्रकार र प्रक्रिया कसरी काम गर्दछ भनेर व्याख्या गर्दछ। योगदानकर्ताहरूले GitHub मा तपाईंको रिपोमा योगदान गर्न सक्षम हुन चरणहरूको श्रृंखला मार्फत जान आवश्यक हुनेछ: 1. **तपाईंको रिपो फोर्क गर्नुहोस्**। तपाईंले सम्भवतः व्यक्तिहरूलाई तपाईंको परियोजना _फोर्क_ गर्न चाहनुहुन्छ। फोर्क गर्नुको मतलब तपाईंको रिपोजिटरीको प्रतिकृति उनीहरूको GitHub प्रोफाइलमा सिर्जना गर्नु हो। 1. **क्लोन गर्नुहोस्**। त्यहाँबाट उनीहरूले परियोजनालाई आफ्नो स्थानीय मेसिनमा क्लोन गर्नेछन्। 1. **ब्रान्च सिर्जना गर्नुहोस्**। तपाईंले उनीहरूलाई आफ्नो कामको लागि _ब्रान्च_ सिर्जना गर्न सोध्न चाहनुहुन्छ। 1. **एक क्षेत्रमा परिवर्तन केन्द्रित गर्नुहोस्**। योगदानकर्ताहरूलाई एक पटकमा एक कुरामा आफ्नो योगदान केन्द्रित गर्न सोध्नुहोस् - यसले तपाईंको काम _मर्ज_ गर्ने सम्भावना उच्च बनाउँछ। कल्पना गर्नुहोस् कि उनीहरूले बग फिक्स लेख्छन्, नयाँ सुविधा थप्छन्, र धेरै परीक्षणहरू अपडेट गर्छन् - के हुन्छ यदि तपाईं ३ मध्ये २, वा ३ मध्ये १ मात्र कार्यान्वयन गर्न चाहनुहुन्छ वा सक्नुहुन्छ? ✅ ब्रान्चहरू लेख्न र राम्रो कोड शिप गर्न विशेष रूपमा महत्त्वपूर्ण हुने स्थिति कल्पना गर्नुहोस्। तपाईं के उपयोग केसहरू सोच्न सक्नुहुन्छ? > नोट, तपाईं संसारमा देख्न चाहनुहुने परिवर्तन हुनुहोस्, र आफ्नो कामको लागि ब्रान्चहरू सिर्जना गर्नुहोस्। तपाईंले गर्ने कुनै पनि कमिटहरू तपाईं हाल "चेक आउट" गरिएको ब्रान्चमा गरिनेछ। `git status` प्रयोग गरेर कुन ब्रान्च हो हेर्नुहोस्। आउनुहोस् योगदानकर्ताको वर्कफ्लोमा जानुहोस्। मानौं योगदानकर्ताले रिपो _फोर्क_ र _क्लोन_ गरिसकेका छन् ताकि उनीहरूको स्थानीय मेसिनमा काम गर्न तयार Git रिपो छ: 1. **ब्रान्च सिर्जना गर्नुहोस्**। `git branch` कमाण्ड प्रयोग गरेर ब्रान्च सिर्जना गर्नुहोस् जसले उनीहरूले योगदान गर्न चाहेको परिवर्तनहरू समावेश गर्नेछ: ```bash git branch [branch-name] ``` 1. **कार्य ब्रान्चमा स्विच गर्नुहोस्**। निर्दिष्ट ब्रान्चमा स्विच गर्नुहोस् र `git switch` प्रयोग गरेर कार्य डाइरेक्टरी अपडेट गर्नुहोस्: ```bash git switch [branch-name] ``` 1. **काम गर्नुहोस्**। यस बिन्दुमा तपाईंले आफ्नो परिवर्तनहरू थप्न चाहनुहुन्छ। Git लाई यसबारे बताउन नबिर्सनुहोस् निम्न कमाण्डहरू प्रयोग गरेर: ```bash git add . git commit -m "my changes" ``` सुनिश्चित गर्नुहोस् तपाईंले आफ्नो कमिटलाई राम्रो नाम दिनुहोस्, तपाईंको लागि र तपाईंले मद्दत गरिरहेको रिपोको मर्मतकर्ताको लागि। 1. **आफ्नो काम `main` ब्रान्चसँग मिलाउनुहोस्**। कुनै बिन्दुमा तपाईं काम सक्नुहुन्छ र तपाईं आफ्नो काम `main` ब्रान्चको कामसँग मिलाउन चाहनुहुन्छ। यस बीचमा `main` ब्रान्च परिवर्तन भएको हुन सक्छ त्यसैले सुनिश्चित गर्नुहोस् कि तपाईंले पहिले यसलाई निम्न कमाण्डहरू प्रयोग गरेर नवीनतममा अपडेट गर्नुहोस्: ```bash git switch main git pull ``` यस बिन्दुमा तपाईं सुनिश्चित गर्न चाहनुहुन्छ कि कुनै पनि _conflicts_, जहाँ Git सजिलै _combine_ गर्न सक्दैन, तपाईंको कार्य ब्रान्चमा हुन्छ। त्यसैले निम्न कमाण्डहरू चलाउनुहोस्: ```bash git switch [branch_name] git merge main ``` यसले `main` बाट सबै परिवर्तनहरू तपाईंको ब्रान्चमा ल्याउनेछ र आशा छ कि तपाईं केवल जारी राख्न सक्नुहुन्छ। यदि छैन भने, VS Code ले तपाईंलाई Git _confused_ भएको ठाउँ देखाउनेछ र तपाईंले प्रभावित फाइलहरू परिवर्तन गर्न सक्नुहुन्छ ताकि कुन सामग्री सबैभन्दा सही छ भनेर भन्न सक्नुहुन्छ। 1. **आफ्नो काम GitHub मा पठाउनुहोस्**। GitHub मा आफ्नो काम पठाउनुको मतलब दुई चीज हो। तपाईंको ब्रान्चलाई तपाईंको रिपोमा पुश गर्नुहोस् र त्यसपछि PR, Pull Request खोल्नुहोस्। ```bash git push --set-upstream origin [branch-name] ``` माथिको कमाण्डले तपाईंको फोर्क गरिएको रिपोमा ब्रान्च सिर्जना गर्दछ। 1. **PR खोल्नुहोस्**। त्यसपछि, तपाईं PR खोल्न चाहनुहुन्छ। तपाईंले GitHub मा फोर्क गरिएको रिपोमा नेभिगेट गरेर यो गर्न सक्नुहुन्छ। GitHub ले संकेत देखाउनेछ जहाँ यसले सोध्छ कि तपाईं नयाँ PR सिर्जना गर्न चाहनुहुन्छ कि छैन, तपाईंले क्लिक गर्नुहोस् र तपाईंलाई एक इन्टरफेसमा लगिन्छ जहाँ तपाईं कमिट सन्देश शीर्षक परिवर्तन गर्न सक्नुहुन्छ, यसलाई थप उपयुक्त विवरण दिन सक्नुहुन्छ। अब तपाईंले फोर्क गरेको रिपोको मर्मतकर्ताले यो PR देख्नेछन् र _फिंगर्स क्रस्ड_ उनीहरूले तपाईंको PR लाई सराहना गर्नेछन् र _मर्ज_ गर्नेछन्। तपाईं अब योगदानकर्ता हुनुहुन्छ, याय :) 1. **सफा गर्नुहोस्**। PR सफलतापूर्वक मर्ज गरेपछि _सफा गर्नु_ राम्रो अभ्यास मानिन्छ। तपाईं आफ्नो स्थानीय ब्रान्च र तपाईंले GitHub मा पुश गरेको ब्रान्च दुवै सफा गर्न चाहनुहुन्छ। पहिले यसलाई स्थानीय रूपमा निम्न कमाण्ड प्रयोग गरेर मेटाउनुहोस्: ```bash git branch -d [branch-name] ``` सुनिश्चित गर्नुहोस् कि तपाईं फोर्क गरिएको रिपोको GitHub पेजमा जानुहोस् र तपाईंले यसमा पुश गरेको रिमोट ब्रान्च हटाउनुहोस्। `Pull request` भन्ने शब्द अलि अनौठो लाग्न सक्छ, किनभने वास्तवमा तपाईं आफ्नो परिवर्तनहरू परियोजनामा पठाउन चाहनुहुन्छ। तर परियोजनाको मालिक (maintainer) वा कोर टिमले तपाईंको परिवर्तनहरूलाई परियोजनाको "main" शाखामा मर्ज गर्नु अघि विचार गर्नुपर्छ, त्यसैले तपाईं वास्तवमा परियोजनाको मालिकसँग परिवर्तनको निर्णयको अनुरोध गर्दै हुनुहुन्छ। Pull request भनेको एउटा ठाउँ हो जहाँ शाखामा गरिएका फरक-फरक परिवर्तनहरू तुलना र छलफल गर्न सकिन्छ, समीक्षा, टिप्पणी, एकीकृत परीक्षणहरू, र अन्य कुराहरूको साथ। राम्रो pull request ले प्रायः commit message जस्तै नियमहरू पालना गर्छ। तपाईं आफ्नो कामले कुनै समस्या समाधान गरेको छ भने, issue tracker मा त्यसको सन्दर्भ थप्न सक्नुहुन्छ। यो `#` र त्यसपछि issue को नम्बर प्रयोग गरेर गरिन्छ। उदाहरणका लागि `#97`। 🤞आशा गरौं कि सबै जाँचहरू पास हुन्छन् र परियोजनाको मालिक(हरू)ले तपाईंको परिवर्तनहरू परियोजनामा मर्ज गर्छन्🤞 तपाईंको हालको स्थानीय कार्य शाखालाई GitHub मा रहेको सम्बन्धित रिमोट शाखाबाट सबै नयाँ commits हरूसँग अपडेट गर्नुहोस्: `git pull` ## खुला स्रोतमा योगदान गर्ने तरिका पहिले, GitHub मा तपाईंलाई चासो लाग्ने र जसमा तपाईं परिवर्तन गर्न चाहनुहुन्छ त्यस्तो एउटा repository (वा **repo**) खोजौं। तपाईंले यसको सामग्री आफ्नो कम्प्युटरमा प्रतिलिपि गर्न चाहनुहुनेछ। ✅ 'सुरुवाती-अनुकूल' repos खोज्नको लागि [ट्याग 'good-first-issue' द्वारा खोजी गर्नुहोस्](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)। ![स्थानीय रूपमा repo प्रतिलिपि गर्नुहोस्](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.ne.png) कोड प्रतिलिपि गर्ने धेरै तरिकाहरू छन्। एउटा तरिका भनेको HTTPS, SSH, वा GitHub CLI (Command Line Interface) प्रयोग गरेर repository को सामग्री "clone" गर्नु हो। तपाईंको टर्मिनल खोल्नुहोस् र यसरी repository clone गर्नुहोस्: `git clone https://github.com/ProjectURL` परियोजनामा काम गर्न, सही फोल्डरमा स्विच गर्नुहोस्: `cd ProjectURL` तपाईं [Codespaces](https://github.com/features/codespaces), GitHub को embedded code editor / cloud development environment, वा [GitHub Desktop](https://desktop.github.com/) प्रयोग गरेर पनि सम्पूर्ण परियोजना खोल्न सक्नुहुन्छ। अन्तमा, तपाईं कोडलाई zipped फोल्डरको रूपमा डाउनलोड गर्न सक्नुहुन्छ। ### GitHub का केही थप रोचक कुरा तपाईं GitHub मा कुनै पनि सार्वजनिक repository लाई star, watch, र/वा "fork" गर्न सक्नुहुन्छ। तपाईंले आफ्नो starred repositories शीर्ष-दायाँ ड्रप-डाउन मेनुमा फेला पार्न सक्नुहुन्छ। यो bookmark जस्तै हो, तर कोडको लागि। परियोजनाहरूमा issue tracker हुन्छ, प्रायः GitHub मा "Issues" ट्याबमा, जहाँ परियोजनासँग सम्बन्धित समस्याहरूको बारेमा छलफल गरिन्छ। र Pull Requests ट्याबमा मानिसहरूले प्रगतिमा रहेका परिवर्तनहरूको बारेमा छलफल र समीक्षा गर्छन्। परियोजनाहरूमा फोरम, मेलिङ लिस्ट, वा Slack, Discord, वा IRC जस्ता च्याट च्यानलहरूमा पनि छलफल हुन सक्छ। ✅ आफ्नो नयाँ GitHub repo मा वरिपरि हेर्नुहोस् र केही कुरा प्रयास गर्नुहोस्, जस्तै सेटिङहरू सम्पादन गर्नु, आफ्नो repo मा जानकारी थप्नु, र एउटा परियोजना (जस्तै Kanban बोर्ड) सिर्जना गर्नु। तपाईंले धेरै कुरा गर्न सक्नुहुन्छ! --- ## 🚀 चुनौती एउटा साथीलाई आफ्नो कोडमा काम गर्नको लागि जोडी बनाउनुहोस्। सहकार्यात्मक रूपमा एउटा परियोजना सिर्जना गर्नुहोस्, कोड fork गर्नुहोस्, शाखाहरू सिर्जना गर्नुहोस्, र परिवर्तनहरू मर्ज गर्नुहोस्। ## Post-Lecture Quiz [Post-lecture quiz](https://ff-quizzes.netlify.app/web/en/) ## समीक्षा र आत्म-अध्ययन [खुला स्रोत सफ्टवेयरमा योगदान गर्ने](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) बारे थप पढ्नुहोस्। [Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/)। अभ्यास, अभ्यास, अभ्यास। GitHub ले [skills.github.com](https://skills.github.com) मार्फत उत्कृष्ट सिकाइ मार्गहरू उपलब्ध गराएको छ: - [GitHub मा पहिलो हप्ता](https://skills.github.com/#first-week-on-github) तपाईंले थप उन्नत पाठ्यक्रमहरू पनि फेला पार्नुहुनेछ। ## असाइनमेन्ट [GitHub मा पहिलो हप्ता कोर्स](https://skills.github.com/#first-week-on-github) पूरा गर्नुहोस्। --- **अस्वीकरण**: यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।