You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/ne/1-getting-started-lessons/2-github-basics/README.md

345 lines
40 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "ea65b75e488aa33a3cc5cb1c6c3f047a",
"translation_date": "2025-10-03T13:49:36+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "ne"
}
-->
# 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 <file>..." to update what will be committed)
(use "git checkout -- <file>..." 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 खोज्नुहोस्। तपाईं यसलाई तलको कमाण्डमा प्रयोग गर्नुहुनेछ। ```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 मा पठाउँछ। `upstream` शाखा सेट गर्दै `-u` कमाण्डमा समावेश गर्दा तपाईंको स्थानीय शाखा र रिमोट शाखाबीच लिंक स्थापना हुन्छ, त्यसैले तपाईंले भविष्यमा शाखाको नाम निर्दिष्ट नगरी git push वा git pull मात्र प्रयोग गर्न सक्नुहुन्छ। Git स्वचालित रूपमा अपस्ट्रीम शाखा प्रयोग गर्नेछ र भविष्यका कमाण्डहरूमा शाखाको नाम स्पष्ट रूपमा निर्दिष्ट गर्न आवश्यक पर्दैन।
2. **थप परिवर्तनहरू थप्न**। यदि तपाईं परिवर्तनहरू जारी राख्न चाहनुहुन्छ र तिनीहरूलाई GitHub मा धकेल्न चाहनुहुन्छ भने तपाईंले केवल निम्न तीन कमाण्डहरू प्रयोग गर्न आवश्यक हुनेछ:
```bash
git add .
git commit -m "type your commit message here"
git push
```
> टिप, तपाईंले `.gitignore` फाइल अपनाउन चाहनुहुन्छ जसले तपाईं ट्र्याक गर्न चाहनुहुन्न फाइलहरू GitHub मा देखिनबाट रोक्न मद्दत गर्दछ - जस्तै त्यो नोट्स फाइल जुन तपाईंले त्यही फोल्डरमा भण्डारण गर्नुहुन्छ तर सार्वजनिक रिपोजिटरीमा कुनै स्थान छैन। तपाईं `.gitignore` फाइलहरूको टेम्प्लेटहरू [.gitignore templates](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 को उदाहरण फेला पार्न सक्नुहुन्छ? नोट: त्यहाँ केही [उपकरणहरू छन् जसले राम्रो README बनाउन मद्दत गर्छ](https://www.makeareadme.com/) जुन तपाईंले प्रयास गर्न चाहनुहुन्छ।
### कार्य: केही कोड मर्ज गर्नुहोस्
योगदान दस्तावेजहरूले मानिसहरूलाई परियोजनामा योगदान गर्न मद्दत गर्दछ। यसले तपाईंले खोजिरहेका योगदानहरूको प्रकार र प्रक्रिया कसरी काम गर्दछ भनेर व्याख्या गर्दछ। योगदानकर्ताहरूले 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
```
`git merge main` कमाण्डले `main` बाट सबै परिवर्तनहरू तपाईंको शाखामा ल्याउनेछ। आशा छ तपाईं केवल जारी राख्न सक्नुहुन्छ। यदि छैन भने, VS Code ले तपाईंलाई Git _confused_ भएको ठाउँ बताउनेछ र तपाईंले प्रभावित फाइलहरू परिवर्तन गर्न सक्नुहुन्छ कि कुन सामग्री सबैभन्दा सही छ।
फरक शाखामा स्विच गर्न, आधुनिक `git switch` कमाण्ड प्रयोग गर्नुहोस्:
```bash
git switch [branch_name]
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` शब्द अलि अचम्मको लाग्न सक्छ किनभने वास्तवमा तपाईं आफ्नो परिवर्तनहरू प्रोजेक्टमा पुश गर्न चाहनुहुन्छ। तर मेन्टेनर (प्रोजेक्ट मालिक) वा कोर टिमले तपाईंको परिवर्तनहरूलाई प्रोजेक्टको "मुख्य" ब्रान्चमा मर्ज गर्नु अघि विचार गर्नुपर्छ, त्यसैले तपाईं वास्तवमा मेन्टेनरबाट परिवर्तनको निर्णयको अनुरोध गर्दै हुनुहुन्छ।
Pull request एउटा ठाउँ हो जहाँ ब्रान्चमा गरिएका परिवर्तनहरू तुलना र छलफल गर्न सकिन्छ, समीक्षा, टिप्पणीहरू, एकीकृत परीक्षणहरू, र अन्य धेरै कुराहरू गर्न सकिन्छ। राम्रो pull request ले कमिट मेसेजको जस्तै नियमहरू पालना गर्छ। तपाईं आफ्नो कामले कुनै समस्या समाधान गरेमा, समस्या ट्र्याकरमा समस्या उल्लेख गर्न सक्नुहुन्छ। यो `#` पछि तपाईंको समस्याको नम्बर प्रयोग गरेर गरिन्छ। उदाहरणका लागि `#97`
🤞आशा गरौं कि सबै चेक पास हुन्छन् र प्रोजेक्ट मालिक(हरू)ले तपाईंको परिवर्तनहरू प्रोजेक्टमा मर्ज गर्छन्🤞
GitHub मा रहेको रिमोट ब्रान्चबाट सबै नयाँ कमिटहरू आफ्नो स्थानीय कार्यरत ब्रान्चमा अपडेट गर्नुहोस्:
`git pull`
## ओपन सोर्समा योगदान कसरी गर्ने
पहिले, GitHub मा तपाईंलाई चासो लाग्ने र जसमा तपाईं परिवर्तन गर्न चाहनुहुन्छ त्यस्तो रिपोजिटरी (वा **repo**) खोजौं। तपाईंले यसको सामग्री आफ्नो मेसिनमा कपी गर्न चाहनुहुन्छ।
✅ 'सुरुवाती-अनुकूल' रिपोहरू खोज्नको लागि [ट्याग 'good-first-issue' द्वारा खोज्नुहोस्](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)।
![रिपो स्थानीय रूपमा कपी गर्नुहोस्](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.ne.png)
कोड कपी गर्ने धेरै तरिकाहरू छन्। एउटा तरिका भनेको HTTPS, SSH, वा GitHub CLI (कमाण्ड लाइन इन्टरफेस) प्रयोग गरेर रिपोजिटरीको सामग्री "क्लोन" गर्नु हो।
टर्मिनल खोल्नुहोस् र रिपोजिटरी यसरी क्लोन गर्नुहोस्:
`git clone https://github.com/ProjectURL`
प्रोजेक्टमा काम गर्न, सही फोल्डरमा स्विच गर्नुहोस्:
`cd ProjectURL`
तपाईं [Codespaces](https://github.com/features/codespaces), GitHub को एम्बेडेड कोड एडिटर / क्लाउड डेभलपमेन्ट वातावरण, वा [GitHub Desktop](https://desktop.github.com/) प्रयोग गरेर पनि सम्पूर्ण प्रोजेक्ट खोल्न सक्नुहुन्छ।
अन्तमा, तपाईं कोडलाई जिप गरिएको फोल्डरमा डाउनलोड गर्न सक्नुहुन्छ।
### GitHub का केही थप रोचक कुरा
तपाईं GitHub मा कुनै पनि सार्वजनिक रिपोजिटरीलाई स्टार, वाच र/वा "फोर्क" गर्न सक्नुहुन्छ। तपाईंले स्टार गरेका रिपोजिटरीहरूलाई शीर्ष-दायाँ ड्रप-डाउन मेनुमा फेला पार्न सक्नुहुन्छ। यो कोडको लागि बुकमार्क जस्तै हो।
प्रोजेक्टहरूमा समस्या ट्र्याकर हुन्छ, प्रायः GitHub मा "Issues" ट्याबमा, जबसम्म अन्यथा उल्लेख गरिएको छैन, जहाँ मानिसहरूले प्रोजेक्टसँग सम्बन्धित समस्याहरूको बारेमा छलफल गर्छन्। र Pull Requests ट्याबमा मानिसहरूले प्रगतिको क्रममा रहेका परिवर्तनहरूको बारेमा छलफल र समीक्षा गर्छन्।
प्रोजेक्टहरूमा फोरम, मेलिङ लिस्ट, वा Slack, Discord वा IRC जस्ता च्याट च्यानलहरूमा पनि छलफल हुन सक्छ।
✅ आफ्नो नयाँ GitHub रिपो वरिपरि हेर्नुहोस् र केही कुरा प्रयास गर्नुहोस्, जस्तै सेटिङहरू सम्पादन गर्नु, आफ्नो रिपोमा जानकारी थप्नु, र प्रोजेक्ट बनाउनुहोस् (जस्तै Kanban बोर्ड)। तपाईं धेरै कुरा गर्न सक्नुहुन्छ!
---
## 🚀 चुनौती
साथीसँग जोडी बनाएर एक-अर्काको कोडमा काम गर्नुहोस्। सहकार्यात्मक रूपमा प्रोजेक्ट बनाउनुहोस्, कोड फोर्क गर्नुहोस्, ब्रान्चहरू बनाउनुहोस्, र परिवर्तनहरू मर्ज गर्नुहोस्।
## पोस्ट-लेक्चर क्विज
[पोस्ट-लेक्चर क्विज](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) पूरा गर्नुहोस्।
---
**अस्वीकरण**:
यो दस्तावेज़ [Co-op Translator](https://github.com/Azure/co-op-translator) नामक एआई अनुवाद सेवा प्रयोग गरेर अनुवाद गरिएको हो। हामी यथासम्भव शुद्धता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। मूल दस्तावेज़ यसको मातृभाषामा आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।