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

543 lines
74 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9412a6afd024d4fe27c49bf824c73992",
"translation_date": "2025-10-20T21:37:45+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "ne"
}
-->
# GitHub परिचय
GitHub आधुनिक वेब विकासको लागि सबैभन्दा महत्त्वपूर्ण प्लेटफर्महरूमध्ये एक हो, जसले विश्वभरका लाखौं विकासकर्ताहरूलाई सहयोग पुर्‍याउने आधारको रूपमा सेवा गर्दछ। यसलाई तपाईंको कोडको लागि क्लाउड स्टोरेज र प्रोग्रामरहरूको लागि सामाजिक सञ्जालको संयोजनको रूपमा सोच्न सकिन्छ यो त्यहाँ हो जहाँ विकासकर्ताहरूले आफ्नो काम साझा गर्छन्, परियोजनाहरूमा सहकार्य गर्छन्, र खुला-स्रोत समुदायमा योगदान दिन्छन्, जुन तपाईंले दैनिक प्रयोग गर्ने इन्टरनेटको धेरै भागलाई शक्ति दिन्छ।
यस पाठमा, तपाईंले पत्ता लगाउनुहुनेछ कि GitHub ले विकासकर्ताहरूले एकसाथ काम गर्ने तरिकालाई कसरी रूपान्तरण गर्दछ। तपाईंले आफ्नो कोडमा परिवर्तनहरू ट्र्याक गर्न, अरूसँग सहजतापूर्वक सहकार्य गर्न, र लाखौं मानिसहरूले प्रयोग गर्ने परियोजनाहरूमा योगदान दिन सिक्नुहुनेछ। यो केवल अनलाइन कोड भण्डारणको बारेमा मात्र होइन यो विकासकर्ताहरूको विश्वव्यापी समुदायमा सामेल हुने र प्रत्येक व्यावसायिक विकासकर्ताले प्रयोग गर्ने आधारभूत कार्यप्रवाहहरू सिक्ने बारेमा हो।
यस पाठको अन्त्यसम्ममा, तपाईंको आफ्नै GitHub रिपोजिटरी हुनेछ, Git को साथ कोड परिवर्तनहरू कसरी व्यवस्थापन गर्ने भन्ने कुरा बुझ्नुहुनेछ, र खुला-स्रोत परियोजनाहरूमा योगदान दिन जान्नुहुनेछ। यी सीपहरूले तपाईंको वेब विकास यात्रामा अन्य विकासकर्ताहरूसँग सहकार्य गर्नको लागि आधारको रूपमा सेवा गर्नेछ। आउनुहोस्, सहकार्यात्मक कोडिङको शक्ति अनलक गरौं!
![GitHub परिचय](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.ne.png)
> स्केच नोट [Tomomi Imura](https://twitter.com/girlie_mac) द्वारा
## प्रि-लेक्चर क्विज
[प्रि-लेक्चर क्विज](https://ff-quizzes.netlify.app)
## परिचय
हामी GitHub गतिविधिहरूमा व्यावहारिक रूपमा जानु अघि, सफलताको लागि आवश्यक आधार स्थापना गरौं। प्रमुख अवधारणाहरू बुझ्नु र तपाईंको विकास वातावरणलाई सही रूपमा कन्फिगर गर्नुले तपाईंको GitHub यात्रा धेरै सहज बनाउनेछ।
यस खण्डमा, हामी GitHub सँग काम गर्दा प्रत्येक विकासकर्ताले आवश्यक पर्ने ज्ञान र उपकरणहरू समेट्नेछौं। यदि केही अवधारणाहरू सुरुमा अपरिचित लाग्छ भने चिन्ता नगर्नुहोस् हामी प्रत्येक चरणमा तपाईंलाई मार्गदर्शन गर्नेछौं र यी उपकरणहरू वेब विकासकर्ताहरूको लागि किन मूल्यवान छन् भन्ने व्याख्या गर्नेछौं।
यस पाठमा, हामी समेट्नेछौं:
- तपाईंले आफ्नो मेसिनमा गर्ने काम ट्र्याक गर्नु
- अरूसँग परियोजनाहरूमा काम गर्नु
- खुला-स्रोत सफ्टवेयरमा कसरी योगदान दिने
### पूर्व-आवश्यकताहरू
तपाईंको विकास वातावरणलाई सही रूपमा सेटअप गर्नु GitHub अनुभवको लागि महत्त्वपूर्ण छ। यसलाई परियोजना सुरु गर्नु अघि तपाईंको उपकरण किट तयार पार्नको रूपमा सोच्नुहोस् सही उपकरणहरू सही रूपमा कन्फिगर गर्नुले पछि समय र निराशा बचत गर्नेछ।
आउनुहोस् सुनिश्चित गरौं कि तपाईं Git र GitHub सँग प्रभावकारी रूपमा सहकार्य गर्न आवश्यक सबै कुरा छ।
सुरु गर्नु अघि, तपाईंले जाँच गर्न आवश्यक छ कि Git स्थापना भएको छ। टर्मिनलमा टाइप गर्नुहोस्:
`git --version`
यदि Git स्थापना भएको छैन भने, [Git डाउनलोड गर्नुहोस्](https://git-scm.com/downloads)। त्यसपछि, टर्मिनलमा आफ्नो स्थानीय Git प्रोफाइल सेटअप गर्नुहोस्:
> 💡 **पहिलो पटक सेटअप**: यी कमाण्डहरूले Git लाई तपाईं को हो भन्ने बताउँछन्। यो जानकारी तपाईंले गर्ने प्रत्येक कमिटमा संलग्न हुनेछ, त्यसैले सार्वजनिक रूपमा साझा गर्न सहज हुने नाम र इमेल चयन गर्नुहोस्।
```bash
git config --global user.name "your-name"
git config --global user.email "your-email"
```
Git पहिले नै कन्फिगर गरिएको छ कि छैन जाँच गर्न तपाईं टाइप गर्न सक्नुहुन्छ:
```bash
git config --list
```
तपाईंलाई GitHub खाता, कोड एडिटर (जस्तै Visual Studio Code), र टर्मिनल (वा: कमाण्ड प्रम्प्ट) खोल्न आवश्यक हुनेछ।
[github.com](https://github.com/) मा जानुहोस् र यदि तपाईंले पहिले नै खाता बनाउनु भएको छैन भने खाता बनाउनुहोस्, वा लग इन गरेर आफ्नो प्रोफाइल भर्नुहोस्।
💡 **आधुनिक सुझाव**: पासवर्ड बिना सजिलो प्रमाणीकरणको लागि [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) सेटअप गर्ने वा [GitHub CLI](https://cli.github.com/) प्रयोग गर्ने विचार गर्नुहोस्।
✅ GitHub संसारको एकमात्र कोड रिपोजिटरी होइन; अरू पनि छन्, तर GitHub सबैभन्दा परिचित छ।
### तयारी
तपाईंलाई आफ्नो स्थानीय मेसिन (ल्यापटप वा पीसी) मा कोड परियोजनाको साथ एक फोल्डर, र GitHub मा एक सार्वजनिक रिपोजिटरी आवश्यक हुनेछ, जसले अरूको परियोजनामा योगदान कसरी गर्ने भन्ने उदाहरणको रूपमा सेवा गर्नेछ।
### आधुनिक सुरक्षा अभ्यासहरू
सफ्टवेयर विकासमा सुरक्षा महत्त्वपूर्ण मात्र होइन यो आवश्यक छ। तपाईंले GitHub सँग आफ्नो यात्रा सुरु गर्दा, सुरुवातदेखि नै सुरक्षित अभ्यासहरू स्थापना गर्नुले तपाईंको कोड, तपाईंका सहकर्मीहरू, र तपाईंले योगदान गर्ने परियोजनाहरूलाई सुरक्षित राख्नेछ।
आधुनिक विकास कार्यप्रवाहहरूले प्रत्येक चरणमा सुरक्षा प्राथमिकता दिन्छ। आउनुहोस् GitHub र Git सँग काम गर्दा प्रत्येक विकासकर्ताले जान्नुपर्ने प्रमुख सुरक्षा अभ्यासहरू अन्वेषण गरौं।
GitHub सँग काम गर्दा, सुरक्षा उत्तम अभ्यासहरू पालना गर्नु महत्त्वपूर्ण छ:
| सुरक्षा क्षेत्र | उत्तम अभ्यास | किन महत्त्वपूर्ण छ |
|---------------|---------------|----------------|
| **प्रमाणीकरण** | SSH keys वा Personal Access Tokens प्रयोग गर्नुहोस् | पासवर्ड कम सुरक्षित छन् र चरणबद्ध हुँदैछन् |
| **दुई-कारक प्रमाणीकरण** | GitHub खातामा 2FA सक्षम गर्नुहोस् | खाताको सुरक्षामा थप तह थप्छ |
| **रिपोजिटरी सुरक्षा** | संवेदनशील जानकारी कहिल्यै कमिट नगर्नुहोस् | API keys र पासवर्डहरू सार्वजनिक रिपोजमा कहिल्यै हुनु हुँदैन |
| **निर्भरता व्यवस्थापन** | Dependabot अपडेटहरूको लागि सक्षम गर्नुहोस् | तपाईंको निर्भरतालाई सुरक्षित र अद्यावधिक राख्छ |
> ⚠️ **महत्त्वपूर्ण सुरक्षा सम्झना**: कुनै पनि रिपोजिटरीमा API keys, पासवर्ड, वा अन्य संवेदनशील जानकारी कहिल्यै कमिट नगर्नुहोस्। संवेदनशील डाटा सुरक्षित गर्न environment variables र `.gitignore` फाइलहरू प्रयोग गर्नुहोस्।
**आधुनिक प्रमाणीकरण सेटअप:**
```bash
# Generate SSH key (modern ed25519 algorithm)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Set up Git to use SSH
git remote set-url origin git@github.com:username/repository.git
```
> 💡 **प्रो टिप**: SSH keys ले बारम्बार पासवर्ड प्रविष्ट गर्न आवश्यकतालाई हटाउँछ र परम्परागत प्रमाणीकरण विधिहरू भन्दा सुरक्षित हुन्छ।
---
## कोड व्यवस्थापन
अब तपाईंले GitHub को महत्त्व बुझ्नुभयो र आफ्नो वातावरण सेटअप गर्नुभयो, आउनुहोस् व्यावहारिक सीपहरूमा जानौं जुन तपाईंले विकासकर्ताको रूपमा दैनिक प्रयोग गर्नुहुनेछ। Git सँग कोड व्यवस्थापन तपाईंको परियोजनाको विकासको विस्तृत जर्नल जस्तै हो प्रत्येक परिवर्तन, प्रत्येक निर्णय, र प्रत्येक माइलस्टोन सावधानीपूर्वक ट्र्याक र सुरक्षित गरिएको छ।
Git लाई तपाईंको कोडिङ टाइम मेसिनको रूपमा सोच्नुहोस्। तपाईंले के परिवर्तन भयो, कहिले परिवर्तन भयो, र किन परिवर्तन भयो भन्ने कुरा ठ्याक्कै देख्न सक्नुहुन्छ। यो जटिल परियोजनाहरूमा काम गर्दा वा अरूसँग सहकार्य गर्दा अत्यन्तै मूल्यवान हुन्छ।
मानौं तपाईंको स्थानीय रूपमा केही कोड परियोजनाको साथ एक फोल्डर छ र तपाईं आफ्नो प्रगति ट्र्याक गर्न सुरु गर्न चाहनुहुन्छ संस्करण नियन्त्रण प्रणाली Git प्रयोग गरेर। केही मानिसहरूले Git प्रयोग गर्न भविष्यको आफ्नै लागि प्रेम पत्र लेख्न जस्तै तुलना गर्छन्। तपाईंको कमिट सन्देशहरू दिन, हप्ता, वा महिना पछि पढ्दा तपाईंले किन निर्णय गर्नुभयो भन्ने कुरा सम्झन सक्नुहुन्छ, वा परिवर्तन "रोलब्याक" गर्न सक्नुहुन्छ त्यो हो, जब तपाईंले राम्रो "कमिट सन्देशहरू" लेख्नुहुन्छ।
### कार्य: रिपोजिटरी बनाउनुहोस् र कोड कमिट गर्नुहोस्
> 🎯 **सिक्ने लक्ष्य**: यस कार्यको अन्त्यसम्ममा, तपाईंले आफ्नो पहिलो GitHub रिपोजिटरी बनाउनुहुनेछ र आफ्नो पहिलो कमिट गर्नुहुनेछ। यो संस्करण नियन्त्रणको संसारमा तपाईंको प्रवेश बिन्दु हो!
> भिडियो हेर्नुहोस्
>
> [![Git र GitHub आधारभूत भिडियो](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4)
**चरण-दर-चरण कार्यप्रवाह:**
1. **GitHub मा रिपोजिटरी बनाउनुहोस्**। GitHub.com मा, रिपोजिटरी ट्याबमा, वा नेभिगेसन बारको माथि-दायाँ, **New** बटन (हरियो बटन) वा **+** ड्रपडाउन फेला पार्नुहोस् र **New repository** चयन गर्नुहोस्।
1. आफ्नो रिपोजिटरी (फोल्डर) लाई नाम दिनुहोस्
1. विवरण थप्नुहोस् (वैकल्पिक तर सिफारिस गरिएको)
1. यसलाई सार्वजनिक वा निजी बनाउन चयन गर्नुहोस्
1. README फाइल, .gitignore, र लाइसेन्स थप्ने विचार गर्नुहोस्
1. **Create repository** चयन गर्नुहोस्।
1. **आफ्नो कार्य फोल्डरमा जानुहोस्**। आफ्नो टर्मिनलमा, तपाईं ट्र्याक गर्न सुरु गर्न चाहनुभएको फोल्डर (डाइरेक्टरी) मा स्विच गर्नुहोस्। टाइप गर्नुहोस्:
```bash
cd [name of your folder]
```
**यो कमाण्डले के गर्छ:**
- **नेभिगेट** गर्नुहोस् तपाईंको परियोजना डाइरेक्टरीमा जहाँ तपाईंको कोड फाइलहरू छन्
- **तयार गर्नुहोस्** Git आरम्भ र ट्र्याकिङको लागि वातावरण
1. **Git रिपोजिटरी आरम्भ गर्नुहोस्**। आफ्नो परियोजनामा टाइप गर्नुहोस्:
```bash
git init
```
**चरण-दर-चरण, यहाँ के भइरहेको छ:**
- **बनाउनुहोस्** एक लुकेको `.git` फोल्डर जसमा सबै संस्करण नियन्त्रण जानकारी समावेश छ
- **रूपान्तरण गर्नुहोस्** तपाईंको नियमित फोल्डरलाई परिवर्तनहरू ट्र्याक गर्न सक्ने Git रिपोजिटरीमा
- **सेटअप गर्नुहोस्** तपाईंको परियोजनामा संस्करण नियन्त्रणको आधार
1. **स्टेटस जाँच गर्नुहोस्**। आफ्नो रिपोजिटरीको स्टेटस जाँच गर्न टाइप गर्नुहोस्:
```bash
git status
```
**आउटपुट बुझ्दै:**
आउटपुट केही यस प्रकारको देखिन सक्छ:
```output
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file.txt
modified: file2.txt
```
**यस आउटपुटको बारेमा तपाईंलाई थाहा हुनुपर्ने कुरा:**
- **रातो पाठ** सामान्यतया फाइलहरूलाई संकेत गर्दछ जसमा परिवर्तनहरू छन् तर कमिटको लागि तयार छैनन्
- **हरियो पाठ** फाइलहरू देखाउँछ जुन स्टेज गरिएको छ र कमिटको लागि तयार छ
- **सहायक सुझावहरू** प्रदान गरिन्छ कि तपाईंले अर्को के कमाण्ड प्रयोग गर्न सक्नुहुन्छ
> 💡 **Git स्टेटस बुझ्दै**: यो कमाण्ड तपाईंको सबैभन्दा राम्रो साथी हो! यसले तपाईंलाई ठ्याक्कै बताउँछ कि Git ले तपाईंको परियोजनामा के देख्छ र तपाईंले अर्को के कार्यहरू गर्न सक्नुहुन्छ।
`git status` कमाण्डले तपाईंलाई यस्तो कुरा बताउँछ कि कुन फाइलहरू रिपोजिटरीमा _सेभ_ गर्न तयार छन् वा परिवर्तनहरू छन् जुन तपाईंले कायम राख्न चाहनुहुन्छ।
1. **ट्र्याकिङको लागि सबै फाइलहरू थप्नुहोस्** (फाइलहरू स्टेज गर्ने भनिन्छ):
```bash
git add .
```
**यो कमाण्डले के गर्छ:**
- **स्टेज** गर्नुहोस् तपाईंको परियोजना डाइरेक्टरीमा सबै संशोधित र नयाँ फाइलहरू
- **तयार गर्नुहोस्** यी फाइलहरूलाई तपाईंको अर्को कमिटमा समावेश गर्न
- **मार्क गर्नुहोस्** फाइलहरूलाई हामीले अर्को स्थायी स्न्यापशट सिर्जना गर्ने तयारीको रूपमा
`git add` कमाण्ड `.` तर्कको साथले संकेत गर्दछ कि तपाईंका सबै फाइलहरू र परिवर्तनहरू ट्र्याकिङको लागि तयार छन्।
1. **चयनित फाइलहरू ट्र्याकिङको लागि थप्नुहोस्** (चयनात्मक स्टेजिङ):
```bash
git add [file or folder name]
```
**चयनात्मक स्टेजिङ कहिले प्रयोग गर्ने:**
- **संगठित गर्नुहोस्** सम्बन्धित परिवर्तनहरूलाई छुट्टाछुट्टै कमिटहरूमा सफा इतिहासको लागि
- **समावेश गर्नुहोस्** केवल फाइलहरू जुन तार्किक रूपमा सँगै छन्
- **सिर्जना गर्नुहोस्** सम्बन्धित कामलाई समूह गरेर थप अर्थपूर्ण कमिट सन्देशहरू
> 💡 **प्रो टिप**: चयनात्मक थप्ने प्रयोग गर्नुहोस् जब तपाईं सम्बन्धित परिवर्तनहरू सँगै कमिट गर्न चाहनुहुन्छ। यसले थप अर्थपूर्ण कमिट इतिहास सिर्जना गर्दछ।
1. **फाइलहरू अनस्टेज गर्नुहोस्** (यदि तपाईंले आफ्नो विचार परिवर्तन गर्नुभयो भने):
```bash
# Unstage all files
git reset
# Unstage a particular file
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" नामको जडान जसले तपाईंको GitHub रिपोजिटरीलाई संकेत गर्दछ
- **लिंक गर्नुहोस्** तपाईंको स्थानीय Git रिपोजिटरीलाई GitHub मा रहेको रिमोट रिपोजिटरीसँग
- **सक्षम गर्नुहोस्** तपाईंको स्थानीय कमिटहरू GitHub मा पुश गर्न र GitHub बाट परिवर्तनहरू पुल गर्नको क्षमता
💡 **आधुनिक विकल्प**: तपाईं GitHub CLI प्रयोग गरेर एक चरणमा आफ्नो रिपोजिटरी सिर्जना र जडान गर्न सक्नुहुन्छ:
```bash
gh repo create my-repo --public --push --source=.
```
यसले "origin" नामको _remote_, वा जडान, सिर्जना गर्दछ जसले तपाईंले पहिले सिर्जना गरेको GitHub रिपोजिटरीलाई संकेत गर्दछ।
1. **स्थानीय फाइलहरू GitHub मा पठाउनुहोस्**। अहिलेसम्म तपाईंले स्थानीय रिपोजिटरी र GitHub रिपोजिटरी बीचमा _जडान_ सिर्जना गर्नुभएको छ। आउनुहोस् यी फाइलहरू GitHub मा निम्न कमाण्ड `git push` प्रयोग गरेर पठाऔं, यसरी:
```bash
git push -u origin main
```
**यो कमाण्डको ब्रेकडाउन:**
💡 **नोट**: यदि तपाईंको डिफल्ट ब्रान्चको नाम फरक छ (जस्तै "master"), "main" लाई तपाईंको वास्तविक ब्रान्च नामले बदल्नुहोस्। तपाईं आफ्नो हालको ब्रान्च `git branch --show-current` प्रयोग गरेर जाँच गर्न सक्नुहुन्छ।
2. **थप परिवर्तनहरू थप्न** (दैनिक कार्यप्रवाह)। यदि तपाईं परिवर्तनहरू गर्न र तिनीहरूलाई GitHub मा धकेल्न जारी राख्न चाहनुहुन्छ भने, तपाईंले निम्न तीन आदेशहरू प्रयोग गर्नुपर्नेछ:
```bash
git add .
git commit -m "type your commit message here"
git push
```
**चरणबद्ध रूपमा, यहाँ तपाईंको दैनिक कार्यप्रवाह छ:**
- `git add .` प्रयोग गरेर आफ्नो परिमार्जित फाइलहरू **स्टेज** गर्नुहोस् (वा विशिष्ट फाइलहरू थप्नुहोस्)
- तपाईंले के हासिल गर्नुभएको छ भन्ने बारेमा वर्णनात्मक सन्देशको साथ आफ्नो परिवर्तनहरू **कमिट** गर्नुहोस्
- आफ्नो काम ब्याकअप गर्न र अरूसँग साझा गर्न GitHub मा **पुष** गर्नुहोस्
> 💡 **टिप**: तपाईंले `.gitignore` फाइल अपनाउन चाहनुहुन्छ जसले तपाईं ट्र्याक गर्न चाहनुहुन्न फाइलहरू GitHub मा देखिनबाट रोक्छ - जस्तै त्यो नोट्स फाइल जुन तपाईंले त्यही फोल्डरमा भण्डारण गर्नुभएको छ तर सार्वजनिक रिपोजिटरीमा यसको कुनै स्थान छैन। तपाईंले `.gitignore` फाइलहरूको टेम्प्लेटहरू [.gitignore templates](https://github.com/github/gitignore) मा फेला पार्न सक्नुहुन्छ वा [gitignore.io](https://www.toptal.com/developers/gitignore) प्रयोग गरेर एउटा सिर्जना गर्न सक्नुहुन्छ।
#### आधुनिक Git कार्यप्रवाहहरू
यी आधुनिक अभ्यासहरू अपनाउने बारे विचार गर्नुहोस्:
- **Conventional Commits**: `feat:`, `fix:`, `docs:` जस्ता मानकीकृत कमिट सन्देश ढाँचा प्रयोग गर्नुहोस्। थप जान्नको लागि [conventionalcommits.org](https://www.conventionalcommits.org/) हेर्नुहोस्।
- **Atomic commits**: प्रत्येक कमिटलाई एकल तार्किक परिवर्तनको प्रतिनिधित्व गराउनुहोस्।
- **बारम्बार कमिटहरू**: ठूला, कम बारम्बार कमिटहरू भन्दा वर्णनात्मक सन्देशहरू सहित बारम्बार कमिट गर्नुहोस्।
#### कमिट सन्देशहरू
एक उत्कृष्ट Git कमिट विषय लाइनले निम्न वाक्य पूरा गर्दछ:
यदि लागू गरियो भने, यो कमिटले <तपाईंको विषय लाइन यहाँ>
विषयको लागि अनिवार्य, वर्तमान काल प्रयोग गर्नुहोस्: "change" होइन "changed" वा "changes"।
विषयमा जस्तै, शरीरमा (वैकल्पिक) पनि अनिवार्य, वर्तमान काल प्रयोग गर्नुहोस्। शरीरले परिवर्तनको प्रेरणा समावेश गर्नुपर्छ र यसलाई अघिल्लो व्यवहारसँग तुलना गर्नुपर्छ। तपाईं `किन` व्याख्या गर्दै हुनुहुन्छ, `कसरी` होइन।
✅ GitHub वरिपरि केही मिनेट सर्फ गर्नुहोस्। के तपाईं साँच्चै उत्कृष्ट कमिट सन्देश फेला पार्न सक्नुहुन्छ? के तपाईं साँच्चै न्यूनतम एक फेला पार्न सक्नुहुन्छ? कमिट सन्देशमा जानकारीको सबैभन्दा महत्त्वपूर्ण र उपयोगी कुरा के हो भनी तपाईं के सोच्नुहुन्छ?
## अन्यहरूसँग परियोजनाहरूमा काम गर्ने
सहयोग नै GitHub को वास्तविक शक्ति हो। आफ्नो कोड व्यवस्थापन गर्नु महत्त्वपूर्ण छ, तर वास्तविक जादू तब हुन्छ जब विकासकर्ताहरूले एकसाथ केही अद्भुत निर्माण गर्न सहयोग गर्छन्। GitHub एकल कोडिङलाई सहयोगात्मक संगीतमा रूपान्तरण गर्दछ जहाँ धेरै विकासकर्ताहरूले एकसाथ योगदान गर्न सक्छन् बिना एकअर्काको काममा बाधा पुर्‍याई।
यस खण्डमा, तपाईंले अन्य विकासकर्ताहरूलाई स्वागतयोग्य बनाउने तरिका र विद्यमान परियोजनाहरूमा अर्थपूर्ण योगदान गर्ने तरिका सिक्नुहुनेछ। यी सहयोग कौशलहरूले शौकिया कोडरहरूलाई व्यावसायिक विकासकर्ताहरूबाट अलग गर्छ।
> भिडियो हेर्नुहोस्
>
> [![Git र GitHub आधारभूत भिडियो](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
GitHub मा चीजहरू राख्ने मुख्य कारण भनेको अन्य विकासकर्ताहरूसँग सहयोग गर्न सम्भव बनाउनु हो।
तपाईंको रिपोजिटरीमा, `Insights > Community` मा नेभिगेट गर्नुहोस् र तपाईंको परियोजना सिफारिस गरिएका समुदाय मापदण्डहरूसँग कसरी तुलना हुन्छ हेर्नुहोस्।
> 🎯 **तपाईंको रिपोजिटरीलाई व्यावसायिक बनाउनुहोस्**: राम्रोसँग दस्तावेज गरिएको रिपोजिटरीले थप योगदानकर्ताहरूलाई आकर्षित गर्दछ र देखाउँछ कि तपाईं कोडको गुणस्तरको हेरचाह गर्नुहुन्छ।
**आवश्यक रिपोजिटरी तत्वहरू:**
| तत्व | उद्देश्य | किन यो महत्त्वपूर्ण छ |
|---------|---------|----------------|
| **वर्णन** | तपाईंको परियोजनाको संक्षिप्त सारांश | मानिसहरूलाई तपाईंको परियोजनाले के गर्छ भन्ने कुरा झट्ट बुझ्न मद्दत गर्दछ |
| **README** | विस्तृत परियोजना दस्तावेज | मानिसहरूले पहिलो कुरा पढ्छन् - यसलाई महत्त्वपूर्ण बनाउनुहोस्! |
| **योगदान दिशानिर्देशहरू** | योगदानकर्ताहरूका लागि निर्देशनहरू | तपाईं सहयोगलाई स्वागत गर्नुहुन्छ र स्पष्ट अपेक्षाहरू सेट गर्नुहोस् |
| **आचरण संहिता** | समुदाय व्यवहार मापदण्डहरू | सबै योगदानकर्ताहरूका लागि स्वागतयोग्य वातावरण सिर्जना गर्दछ |
| **लाइसेन्स** | प्रयोग अनुमति | अरूले तपाईंको कोडलाई कानुनी रूपमा कसरी प्रयोग गर्न सक्छन् भन्ने कुरा परिभाषित गर्दछ |
| **सुरक्षा नीति** | कमजोर रिपोर्टिङ प्रक्रिया | देखाउँछ कि तपाईं सुरक्षा गम्भीरताका साथ लिनुहुन्छ |
> 💡 **प्रो टिप**: GitHub ले यी सबै फाइलहरूको लागि टेम्प्लेटहरू प्रदान गर्दछ। नयाँ रिपोजिटरी सिर्जना गर्दा, यी फाइलहरू स्वचालित रूपमा उत्पन्न गर्न बक्सहरू जाँच गर्नुहोस्।
**अनुसन्धान गर्न आधुनिक GitHub सुविधाहरू:**
🤖 **स्वचालन र CI/CD:**
- **GitHub Actions** स्वचालित परीक्षण र परिनियोजनको लागि
- **Dependabot** स्वचालित निर्भरता अपडेटहरूको लागि
💬 **समुदाय र परियोजना व्यवस्थापन:**
- **GitHub Discussions** मुद्दाहरू बाहिर समुदाय वार्तालापहरूको लागि
- **GitHub Projects** कानबान-शैली परियोजना व्यवस्थापनको लागि
- **ब्रान्च सुरक्षा नियमहरू** कोड गुणस्तर मापदण्डहरू लागू गर्न
यी सबै स्रोतहरूले नयाँ टोली सदस्यहरूलाई अनबोर्डिङ गर्न फाइदा पुर्‍याउनेछन्। र ती सामान्यतया नयाँ योगदानकर्ताहरूले तपाईंको कोड हेर्नु अघि हेर्ने प्रकारका चीजहरू हुन्, यो पत्ता लगाउन कि तपाईंको परियोजना उनीहरूको समय खर्च गर्नको लागि सही स्थान हो।
✅ README फाइलहरू, यद्यपि तिनीहरू तयार गर्न समय लाग्छ, अक्सर व्यस्त मर्मतकर्ताहरूले बेवास्ता गर्छन्। के तपाईं विशेष रूपमा वर्णनात्मक एक उदाहरण फेला पार्न सक्नुहुन्छ? नोट: त्यहाँ केही [उपकरणहरू छन् जसले राम्रो README बनाउन मद्दत गर्छ](https://www.makeareadme.com/) जुन तपाईंले प्रयास गर्न चाहनुहुन्छ।
### कार्य: केही कोड मर्ज गर्नुहोस्
योगदान दस्तावेजहरूले मानिसहरूलाई परियोजनामा योगदान गर्न मद्दत गर्दछ। यसले तपाईंले खोजिरहेको योगदानको प्रकार र प्रक्रिया कसरी काम गर्दछ भन्ने व्याख्या गर्दछ। योगदानकर्ताहरूले GitHub मा तपाईंको रिपोजिटरीमा योगदान गर्न सक्षम हुन चरणहरूको श्रृंखलाबाट जान आवश्यक छ:
1. **तपाईंको रिपोजिटरीलाई फोर्क गर्नुहोस्** तपाईंले सम्भवतः मानिसहरूलाई तपाईंको परियोजनालाई _फोर्क_ गर्न चाहनुहुन्छ। फोर्क गर्नुको मतलब तपाईंको रिपोजिटरीको प्रतिलिपि उनीहरूको GitHub प्रोफाइलमा सिर्जना गर्नु हो।
1. **क्लोन गर्नुहोस्**। त्यहाँबाट उनीहरूले परियोजनालाई आफ्नो स्थानीय मेसिनमा क्लोन गर्नेछन्।
1. **ब्रान्च सिर्जना गर्नुहोस्**। तपाईंले उनीहरूलाई आफ्नो कामको लागि _ब्रान्च_ सिर्जना गर्न सोध्न चाहनुहुन्छ।
1. **एक क्षेत्रमा परिवर्तन केन्द्रित गर्नुहोस्**। योगदानकर्ताहरूलाई एक पटकमा एक कुरामा आफ्नो योगदान केन्द्रित गर्न सोध्नुहोस् - यसले तपाईंको कामलाई _मर्ज_ गर्ने सम्भावना उच्च बनाउँछ। कल्पना गर्नुहोस् कि उनीहरूले बग फिक्स लेख्छन्, नयाँ सुविधा थप्छन्, र धेरै परीक्षणहरू अपडेट गर्छन् - के हुन्छ यदि तपाईं ३ मध्ये २ वा १ परिवर्तन मात्र कार्यान्वयन गर्न चाहनुहुन्छ वा गर्न सक्नुहुन्छ?
✅ ब्रान्चहरू लेख्न र राम्रो कोड पठाउन विशेष रूपमा महत्त्वपूर्ण हुने स्थिति कल्पना गर्नुहोस्। तपाईं के उपयोग केसहरू सोच्न सक्नुहुन्छ?
> नोट, तपाईं संसारमा देख्न चाहनु भएको परिवर्तन हुनुहोस्, र आफ्नो कामको लागि ब्रान्चहरू सिर्जना गर्नुहोस्। तपाईंले गर्ने कुनै पनि कमिटहरू तपाईं हाल "चेक आउट" गरिएको ब्रान्चमा गरिनेछ। `git status` प्रयोग गरेर त्यो कुन ब्रान्च हो हेर्नुहोस्।
आउनुहोस् योगदानकर्ताको कार्यप्रवाहको माध्यमबाट जानुहोस्। मानौं योगदानकर्ताले रिपोजिटरीलाई _फोर्क__क्लोन_ गरिसकेका छन् त्यसैले उनीहरूसँग स्थानीय मेसिनमा काम गर्न तयार Git रिपो छ:
1. **ब्रान्च सिर्जना गर्नुहोस्**। `git branch` आदेश प्रयोग गरेर ब्रान्च सिर्जना गर्नुहोस् जसले उनीहरूले योगदान गर्न चाहेको परिवर्तनहरू समावेश गर्दछ:
```bash
git branch [branch-name]
```
> 💡 **आधुनिक दृष्टिकोण**: तपाईं एक आदेशमा नयाँ ब्रान्च सिर्जना गर्न र स्विच गर्न सक्नुहुन्छ:
```bash
git switch -c [branch-name]
```
1. **काम गर्ने ब्रान्चमा स्विच गर्नुहोस्**। निर्दिष्ट ब्रान्चमा स्विच गर्नुहोस् र `git switch` प्रयोग गरेर कार्यरत निर्देशिका अपडेट गर्नुहोस्:
```bash
git switch [branch-name]
```
> 💡 **आधुनिक नोट**: ब्रान्चहरू परिवर्तन गर्दा `git switch` `git checkout` को आधुनिक प्रतिस्थापन हो। यो स्पष्ट र शुरुवातकर्ताहरूको लागि सुरक्षित छ।
1. **काम गर्नुहोस्**। यस बिन्दुमा तपाईं आफ्नो परिवर्तनहरू थप्न चाहनुहुन्छ। यसलाई निम्न आदेशहरूको साथ Git लाई भन्न नबिर्सनुहोस्:
```bash
git add .
git commit -m "my changes"
```
> ⚠️ **कमिट सन्देशको गुणस्तर**: सुनिश्चित गर्नुहोस् कि तपाईंले आफ्नो कमिटलाई राम्रो नाम दिनुहुन्छ, तपाईंको लागि र तपाईंले मद्दत गरिरहेको रिपोजिटरीको मर्मतकर्ताको लागि। तपाईंले के परिवर्तन गर्नुभयो भन्ने बारेमा विशिष्ट हुनुहोस्!
1. **तपाईंको कामलाई `main` ब्रान्चसँग मिलाउनुहोस्**। कुनै बिन्दुमा तपाईं काम सक्नुहुन्छ र तपाईं आफ्नो कामलाई `main` ब्रान्चको कामसँग मिलाउन चाहनुहुन्छ। यस बीचमा `main` ब्रान्च परिवर्तन भएको हुन सक्छ त्यसैले सुनिश्चित गर्नुहोस् कि तपाईंले पहिले यसलाई निम्न आदेशहरूको साथ नवीनतममा अपडेट गर्नुभयो:
```bash
git switch main
git pull
```
यस बिन्दुमा तपाईं सुनिश्चित गर्न चाहनुहुन्छ कि कुनै पनि _विरोधाभासहरू_, जहाँ Git सजिलैसँग परिवर्तनहरू _मिलाउन_ सक्दैन, तपाईंको कार्यरत ब्रान्चमा हुन्छ। त्यसैले निम्न आदेशहरू चलाउनुहोस्:
```bash
git switch [branch_name]
git merge main
```
`git merge main` आदेशले `main` बाट सबै परिवर्तनहरू तपाईंको ब्रान्चमा ल्याउनेछ। आशा छ कि तपाईंले मात्र जारी राख्न सक्नुहुन्छ। यदि छैन भने, VS Code ले तपाईंलाई बताउनेछ कि Git कहाँ _भ्रमित_ छ र तपाईंले प्रभावित फाइलहरू परिवर्तन गर्न सक्नुहुन्छ कि कुन सामग्री सबैभन्दा सही छ।
💡 **आधुनिक विकल्प**: सफा इतिहासको लागि `git rebase` प्रयोग गर्ने विचार गर्नुहोस्:
```bash
git rebase main
```
यसले तपाईंको कमिटहरूलाई नवीनतम main ब्रान्चको शीर्षमा पुन: प्ले गर्दछ, रेखीय इतिहास सिर्जना गर्दै।
1. **तपाईंको काम GitHub मा पठाउनुहोस्**। तपाईंको काम GitHub मा पठाउनुको मतलब दुई कुरा हो। तपाईंको ब्रान्चलाई तपाईंको रिपोमा धकेल्नुहोस् र त्यसपछि PR, Pull Request खोल्नुहोस्।
```bash
git push --set-upstream origin [branch-name]
```
माथिको आदेशले तपाईंको फोर्क गरिएको रिपोमा ब्रान्च सिर्जना गर्दछ।
1. **PR खोल्नुहोस्**। त्यसपछि, तपाईं PR खोल्न चाहनुहुन्छ। तपाईंले GitHub मा फोर्क गरिएको रिपोमा नेभिगेट गरेर यो गर्नुहुन्छ। GitHub मा तपाईंले नयाँ PR सिर्जना गर्न चाहनुहुन्छ कि भनेर संकेत देख्नुहुनेछ, तपाईंले त्यसमा क्लिक गर्नुहुन्छ र तपाईंलाई एउटा इन्टरफेसमा लगिन्छ जहाँ तपाईं कमिट सन्देश शीर्षक परिवर्तन गर्न सक्नुहुन्छ, यसलाई उपयुक्त विवरण दिन सक्नुहुन्छ। अब तपाईंले फोर्क गरेको रिपोको मर्मतकर्ताले यो PR देख्नेछन् र _आशा गरौं_ उनीहरूले प्रशंसा गर्नेछन् र तपाईंको PR लाई _मर्ज_ गर्नेछन्। तपाईं अब एक योगदानकर्ता हुनुहुन्छ, वाह :)
💡 **आधुनिक टिप**: तपाईं GitHub CLI प्रयोग गरेर पनि PRs सिर्जना गर्न सक्नुहुन्छ:
```bash
gh pr create --title "Your PR title" --body "Description of changes"
```
🔧 **PRs को लागि उत्तम अभ्यासहरू**:
- "Fixes #123" जस्ता कुञ्जीशब्दहरू प्रयोग गरेर सम्बन्धित मुद्दाहरूमा लिंक गर्नुहोस्
- UI परिवर्तनहरूको लागि स्क्रिनशटहरू थप्नुहोस्
- विशिष्ट समीक्षकहरू अनुरोध गर्नुहोस्
- काममा-प्रगति को लागी ड्राफ्ट PRs प्रयोग गर्नुहोस्
- समीक्षा अनुरोध गर्नु अघि सबै CI जाँचहरू पास सुनिश्चित गर्नुहोस्
1. **सफा गर्नुहोस्**। तपाईंले सफलतापूर्वक PR मर्ज गरेपछि _सफा गर्नु_ राम्रो अभ्यास मानिन्छ। तपाईं आफ्नो स्थानीय ब्रान्च र तपाईंले GitHub मा धकेल्नुभएको ब्रान्च दुवै सफा गर्न चाहनुहुन्छ। पहिलो, यसलाई स्थानीय रूपमा निम्न आदेशको साथ मेटाउनुहोस्:
```bash
git branch -d [branch-name]
```
सुनिश्चित गर्नुहोस् कि तपाईं फोर्क गरिएको रिपोको GitHub पृष्ठमा जानुहोस् र तपाईंले यसमा धकेल्नुभएको रिमोट ब्रान्च हटाउनुहोस्।
`Pull request` एक मूर्खतापूर्ण शब्द जस्तो लाग्छ किनकि वास्तवमा तपाईं परियोजनामा ​​तपाईंको परिवर्तनहरू धकेल्न चाहनुहुन्छ। तर मर्मतकर्ता (परियोजना मालिक) वा कोर टोलीले परियोजनाको "main" ब्रान्चसँग मर्ज गर्नु अघि तपाईंको परिवर्तनहरू विचार गर्न आवश्यक छ, त्यसैले तपाईं वास्तवमा मर्मतकर्ताबाट परिवर्तन निर्णयको अनुरोध गर्दै हुनुहुन्छ।
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 (Command Line Interface) प्रयोग गरेर रिपोजिटरीको सामग्रीलाई "क्लोन" गर्नु हो।
तपाईंको टर्मिनल खोल्नुहोस् र रिपोजिटरीलाई यसरी क्लोन गर्नुहोस्:
```bash
# Using HTTPS
git clone https://github.com/ProjectURL
# Using SSH (requires SSH key setup)
git clone git@github.com:username/repository.git
# Using GitHub CLI
gh repo clone username/repository
```
परियोजनामा काम गर्न, सही फोल्डरमा स्विच गर्नुहोस्:
`cd ProjectURL`
तपाईंले सम्पूर्ण परियोजनालाई निम्न तरिकाहरू प्रयोग गरेर पनि खोल्न सक्नुहुन्छ:
- **[GitHub Codespaces](https://github.com/features/codespaces)** - ब्राउजरमा VS Code सहित GitHub को क्लाउड विकास
तपाईं GitHub मा कुनै पनि सार्वजनिक रिपोजिटरीलाई "स्टार", "वाच" र/वा "फोर्क" गर्न सक्नुहुन्छ। तपाईंले आफ्नो स्टार गरिएको रिपोजिटरीहरूलाई माथि दायाँपट्टि रहेको ड्रप-डाउन मेनुमा फेला पार्न सक्नुहुन्छ। यो कोडको लागि बुकमार्क गर्ने जस्तै हो।
प्रोजेक्टहरूमा प्रायः GitHub मा "Issues" ट्याबमा समस्या ट्र्याकर हुन्छ, जबसम्म अन्यथा उल्लेख गरिएको छैन। यहाँ मानिसहरूले प्रोजेक्टसँग सम्बन्धित समस्याहरूको बारेमा छलफल गर्छन्। "Pull Requests" ट्याबमा मानिसहरूले प्रगतिको क्रममा रहेका परिवर्तनहरूको समीक्षा र छलफल गर्छन्।
प्रोजेक्टहरूमा फोरम, मेलिङ लिस्ट, वा Slack, Discord वा IRC जस्ता च्याट च्यानलहरूमा पनि छलफल हुन सक्छ।
🔧 **आधुनिक GitHub सुविधाहरू**:
- **GitHub Discussions** - समुदायको कुराकानीको लागि बिल्ट-इन फोरम
- **GitHub Sponsors** - मेन्टेनरहरूलाई आर्थिक सहयोग प्रदान गर्ने सुविधा
- **Security tab** - सुरक्षा रिपोर्टहरू र सल्लाहहरू
- **Actions tab** - स्वचालित वर्कफ्लोहरू र CI/CD पाइपलाइनहरू हेर्नुहोस्
- **Insights tab** - योगदानकर्ता, कमिटहरू, र प्रोजेक्टको स्वास्थ्यको बारेमा एनालिटिक्स
- **Projects tab** - GitHub को बिल्ट-इन प्रोजेक्ट व्यवस्थापन उपकरणहरू
✅ आफ्नो नयाँ GitHub रिपोजिटरीको वरिपरि हेर्नुहोस् र केही कुराहरू प्रयास गर्नुहोस्, जस्तै सेटिङहरू सम्पादन गर्नु, आफ्नो रिपोजिटरीमा जानकारी थप्नु, प्रोजेक्ट सिर्जना गर्नु (जस्तै Kanban बोर्ड), र GitHub Actions सेटअप गर्नु। यहाँ धेरै कुरा गर्न सकिन्छ!
---
## 🚀 चुनौती
साथीसँग मिलेर एक-अर्काको कोडमा काम गर्नुहोस्। सहकार्यात्मक रूपमा प्रोजेक्ट सिर्जना गर्नुहोस्, कोड फोर्क गर्नुहोस्, ब्रान्चहरू सिर्जना गर्नुहोस्, र परिवर्तनहरू मर्ज गर्नुहोस्।
## पोस्ट-लेक्चर क्विज
[पोस्ट-लेक्चर क्विज](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 ले [GitHub Skills](https://skills.github.com) मार्फत उत्कृष्ट सिकाइ मार्गहरू उपलब्ध गराएको छ:
- [GitHub को परिचय](https://github.com/skills/introduction-to-github)
- [Markdown प्रयोग गरेर संवाद गर्नुहोस्](https://github.com/skills/communicate-using-markdown)
- [GitHub Pages](https://github.com/skills/github-pages)
- [मर्ज कन्फ्लिक्टहरू व्यवस्थापन गर्नुहोस्](https://github.com/skills/resolve-merge-conflicts)
**थप आधुनिक स्रोतहरू**:
- [GitHub CLI दस्तावेज](https://cli.github.com/manual/)
- [GitHub Codespaces दस्तावेज](https://docs.github.com/en/codespaces)
- [GitHub Actions दस्तावेज](https://docs.github.com/en/actions)
- [Git को उत्कृष्ट अभ्यासहरू](https://www.atlassian.com/git/tutorials/comparing-workflows)
## GitHub Copilot Agent चुनौती 🚀
Agent मोड प्रयोग गरेर निम्न चुनौती पूरा गर्नुहोस्:
**विवरण:** GitHub वर्कफ्लोको पूर्ण प्रक्रिया प्रदर्शन गर्ने सहकार्यात्मक वेब विकास प्रोजेक्ट सिर्जना गर्नुहोस्। यो चुनौतीले तपाईंलाई रिपोजिटरी सिर्जना, सहकार्य सुविधाहरू, र आधुनिक Git वर्कफ्लोहरू वास्तविक संसारको परिदृश्यमा अभ्यास गर्न मद्दत गर्नेछ।
**प्रेरणा:** "Web Development Resources" प्रोजेक्टको लागि नयाँ सार्वजनिक GitHub रिपोजिटरी सिर्जना गर्नुहोस्। रिपोजिटरीमा HTML, CSS, JavaScript आदि श्रेणीहरूद्वारा व्यवस्थित उपयोगी वेब विकास उपकरणहरू र स्रोतहरूको सूची समावेश भएको राम्रोसँग संरचित README.md फाइल समावेश गर्नुहोस्। रिपोजिटरीलाई लाइसेन्स, योगदान दिशानिर्देशहरू, र आचार संहिता सहित उचित समुदाय मापदण्डहरूका साथ सेटअप गर्नुहोस्। CSS स्रोतहरू थप्नको लागि एउटा ब्रान्च र JavaScript स्रोतहरू थप्नको लागि अर्को ब्रान्च सिर्जना गर्नुहोस्। प्रत्येक ब्रान्चमा वर्णनात्मक कमिट सन्देशहरू सहित कमिटहरू गर्नुहोस्, त्यसपछि परिवर्तनहरू मुख्यमा मर्ज गर्नको लागि Pull Requests सिर्जना गर्नुहोस्। Issues, Discussions जस्ता GitHub सुविधाहरू सक्षम गर्नुहोस्, र स्वचालित जाँचहरूको लागि आधारभूत GitHub Actions वर्कफ्लो सेटअप गर्नुहोस्।
## असाइनमेन्ट
GitHub Skills मा [GitHub को परिचय](https://github.com/skills/introduction-to-github) कोर्स पूरा गर्नुहोस्।
**वैकल्पिक उन्नत असाइनमेन्टहरू**:
- आफ्नो GitHub खाताको लागि SSH प्रमाणीकरण सेटअप गर्नुहोस्
- सामान्य अपरेशनहरूको लागि GitHub CLI प्रयोग गरेर प्रयास गर्नुहोस्
- GitHub Actions वर्कफ्लोको साथ रिपोजिटरी सिर्जना गर्नुहोस्
- यो रिपोजिटरीलाई Codespaces मा खोल्दै GitHub Codespaces अन्वेषण गर्नुहोस्
---
**अस्वीकरण**:
यो दस्तावेज AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेजलाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।