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

575 lines
86 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": "acad15f3164cd6348e065ff38619aae9",
"translation_date": "2025-10-22T16:50:38+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "ne"
}
-->
# GitHub परिचय
नमस्ते, भविष्यका डेभलपर! 👋 संसारभरका लाखौं कोडरहरूसँग सामेल हुन तयार हुनुहुन्छ? म तपाईंलाई GitHub मा परिचय गराउन साँच्चै उत्साहित छु यसलाई प्रोग्रामरहरूको लागि सामाजिक मिडिया प्लेटफर्मको रूपमा सोच्नुहोस्, तर यहाँ लन्चको फोटोहरू साझा गर्ने सट्टा, हामी कोड साझा गर्दैछौं र सँगै अद्भुत चीजहरू निर्माण गर्दैछौं!
यो कुरा साँच्चै मेरो दिमागलाई उडाउँछ: तपाईंको फोनमा रहेको प्रत्येक एप, तपाईंले भ्रमण गर्ने प्रत्येक वेबसाइट, र तपाईंले प्रयोग गर्न सिक्ने अधिकांश उपकरणहरू विकासकर्ताहरूको टोलीले GitHub जस्ता प्लेटफर्महरूमा सहयोग गरेर निर्माण गरेका हुन्। तपाईंलाई मनपर्ने संगीत एप? तपाईं जस्तै कसैले यसमा योगदान दिएका छन्। त्यो खेल जसलाई तपाईं छोड्न सक्नुहुन्न? हो, सम्भवतः GitHub सहयोगको साथ निर्माण गरिएको। र अब तपाईं त्यो अद्भुत समुदायको हिस्सा बन्न सिक्दै हुनुहुन्छ!
मलाई थाहा छ यो सुरुमा धेरै जस्तो लाग्न सक्छ म पनि मेरो पहिलो GitHub पृष्ठलाई हेर्दै "यो सबैको मतलब के हो?" भनेर सोच्दै थिएँ। तर कुरा के हो भने: प्रत्येक विकासकर्ता ठीक त्यही ठाउँबाट सुरु गरेका थिए जहाँ तपाईं अहिले हुनुहुन्छ। यो पाठको अन्त्यसम्ममा, तपाईंको आफ्नै GitHub रिपोजिटरी हुनेछ (यसलाई क्लाउडमा तपाईंको व्यक्तिगत परियोजना प्रदर्शनको रूपमा सोच्नुहोस्), र तपाईंले आफ्नो काम बचत गर्ने, अरूसँग साझा गर्ने, र लाखौं मानिसहरूले प्रयोग गर्ने परियोजनाहरूमा योगदान गर्ने तरिका सिक्नुहुनेछ।
हामी यो यात्रा सँगै लिनेछौं, एक कदममा। कुनै हतार छैन, कुनै दबाब छैन केवल तपाईं, म, र केही साँच्चै चिसो उपकरणहरू जुन तपाईंको नयाँ साथी बन्नेछन्!
![GitHub परिचय](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.ne.png)
> स्केच नोट [Tomomi Imura](https://twitter.com/girlie_mac) द्वारा
## प्रि-लेक्चर क्विज
[प्रि-लेक्चर क्विज](https://ff-quizzes.netlify.app)
## परिचय
रोचक कुराहरूमा डुब्नु अघि, तपाईंको कम्प्युटरलाई केही GitHub जादूको लागि तयार गरौं! यसलाई उत्कृष्ट कृति सिर्जना गर्नु अघि तपाईंको कला सामग्रीहरू व्यवस्थित गर्ने जस्तो सोच्नुहोस् सही उपकरणहरू तयार हुँदा सबै कुरा धेरै सहज र धेरै रमाइलो हुन्छ।
म तपाईंलाई प्रत्येक सेटअप चरण व्यक्तिगत रूपमा हिँडाउँछु, र म वाचा गर्छु कि यो सुरुमा जति डरावना देखिन्छ त्यति छैन। यदि केही तुरुन्तै क्लिक गर्दैन भने, त्यो पूर्ण रूपमा सामान्य हो! मैले मेरो पहिलो विकास वातावरण सेटअप गर्दा प्राचीन हाइरोग्लिफिक्स पढ्ने प्रयास गरिरहेको जस्तो महसुस गरेको सम्झन्छु। प्रत्येक विकासकर्ता ठीक त्यही ठाउँमा थिए जहाँ तपाईं अहिले हुनुहुन्छ, सोच्दै कि उनीहरूले यो सही गरिरहेका छन् कि छैनन्। स्पोइलर अलर्ट: यदि तपाईं यहाँ सिक्दै हुनुहुन्छ भने, तपाईं पहिले नै सही गरिरहनुभएको छ! 🌟
यस पाठमा, हामी कभर गर्नेछौं:
- तपाईंले आफ्नो मेसिनमा गरेको काम ट्र्याक गर्ने
- अरूसँग परियोजनाहरूमा काम गर्ने
- ओपन सोर्स सफ्टवेयरमा योगदान गर्ने तरिका
### पूर्वापेक्षाहरू
तपाईंको कम्प्युटरलाई केही GitHub जादूको लागि तयार गरौं! चिन्ता नगर्नुहोस् यो सेटअप तपाईंले केवल एक पटक गर्नुपर्ने कुरा हो, र त्यसपछि तपाईंको सम्पूर्ण कोडिङ यात्राको लागि तपाईं तयार हुनुहुनेछ।
ठीक छ, आधारबाट सुरु गरौं! पहिलो, हामी जाँच गर्न आवश्यक छ कि Git पहिले नै तपाईंको कम्प्युटरमा छ कि छैन। Git मूलतः एक सुपर-स्मार्ट सहायक जस्तै हो जसले तपाईंको कोडमा तपाईंले गरेको प्रत्येक परिवर्तन सम्झन्छ प्रत्येक दुई सेकेन्डमा हतारमा Ctrl+S हिट गर्ने भन्दा धेरै राम्रो (हामी सबै त्यहाँ पुगेका छौं!)।
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 कुञ्जीहरू](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) सेटअप गर्ने वा [GitHub CLI](https://cli.github.com/) प्रयोग गर्ने विचार गर्नुहोस्।
✅ GitHub संसारको एकमात्र कोड रिपोजिटरी होइन; अरू पनि छन्, तर GitHub सबैभन्दा परिचित छ।
### तयारी
तपाईंलाई तपाईंको स्थानीय मेसिन (ल्यापटप वा पीसी) मा कोड परियोजनाको साथ एक फोल्डर, र GitHub मा एक सार्वजनिक रिपोजिटरी आवश्यक हुनेछ, जसले अरूको परियोजनाहरूमा योगदान कसरी गर्ने भन्ने उदाहरणको रूपमा काम गर्नेछ।
### तपाईंको कोड सुरक्षित राख्नुहोस्
हामी एक क्षणको लागि सुरक्षा बारे कुरा गरौं तर चिन्ता नगर्नुहोस्, हामी तपाईंलाई डराउने कुरा गर्दैनौं! यी सुरक्षा अभ्यासहरूलाई तपाईंको कार वा तपाईंको घर लक गर्ने जस्तै सोच्नुहोस्। तिनीहरू सरल बानीहरू हुन् जुन स्वाभाविक बन्छन् र तपाईंको कडा परिश्रमलाई सुरक्षित राख्छन्।
हामी तपाईंलाई सुरुबाटै GitHub सँग काम गर्ने आधुनिक, सुरक्षित तरिकाहरू देखाउनेछौं। यसरी, तपाईंले राम्रो बानीहरू विकास गर्नुहुनेछ जसले तपाईंलाई तपाईंको कोडिङ करियरभरि राम्रो सेवा दिनेछ।
GitHub सँग काम गर्दा, सुरक्षा उत्तम अभ्यासहरू पालना गर्नु महत्त्वपूर्ण छ:
| सुरक्षा क्षेत्र | उत्तम अभ्यास | किन यो महत्त्वपूर्ण छ |
|------------------|---------------|------------------------|
| **प्रमाणीकरण** | SSH कुञ्जीहरू वा व्यक्तिगत पहुँच टोकनहरू प्रयोग गर्नुहोस् | पासवर्डहरू कम सुरक्षित छन् र चरणबद्ध रूपमा हटाइँदैछन् |
| **दुई-कारक प्रमाणीकरण** | तपाईंको GitHub खातामा 2FA सक्षम गर्नुहोस् | खाताको सुरक्षामा थप तह थप्छ |
| **रिपोजिटरी सुरक्षा** | संवेदनशील जानकारी कहिल्यै कमिट नगर्नुहोस् | API कुञ्जीहरू र पासवर्डहरू सार्वजनिक रिपोजमा कहिल्यै हुनु हुँदैन |
| **निर्भरता व्यवस्थापन** | Dependabot अपडेटहरूको लागि सक्षम गर्नुहोस् | तपाईंको निर्भरता सुरक्षित र अद्यावधिक राख्छ |
> ⚠️ **महत्त्वपूर्ण सुरक्षा सम्झना**: कुनै पनि रिपोजिटरीमा API कुञ्जीहरू, पासवर्डहरू, वा अन्य संवेदनशील जानकारी कहिल्यै कमिट नगर्नुहोस्। संवेदनशील डाटालाई सुरक्षित गर्न वातावरण चरहरू र `.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 कुञ्जीहरूले बारम्बार पासवर्डहरू प्रविष्ट गर्न आवश्यकतालाई हटाउँछ र परम्परागत प्रमाणीकरण विधिहरू भन्दा सुरक्षित छन्।
---
## तपाईंको कोडलाई प्रो जस्तै व्यवस्थापन गर्नुहोस्
ठीक छ, अब कुरा साँच्चै रोमाञ्चक हुँदैछ! 🎉 हामी तपाईंको कोडलाई प्रोहरू जस्तै ट्र्याक र व्यवस्थापन गर्ने तरिका सिक्दैछौं, र इमानदारीपूर्वक, यो मेरो मनपर्ने कुरा हो किनभने यो यति परिवर्तनकारी छ।
कल्पना गर्नुहोस्: तपाईं एक अद्भुत कथा लेख्दै हुनुहुन्छ, र तपाईं प्रत्येक ड्राफ्ट, प्रत्येक शानदार सम्पादन, र प्रत्येक "पर्खनुहोस्, यो अद्भुत छ!" क्षणलाई ट्र्याक गर्न चाहनुहुन्छ। यही हो 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 मा जानुहोस् र त्यो चम्किलो हरियो **नयाँ** बटन (वा माथि दायाँ कुनामा **+** चिन्ह) खोज्नुहोस्। यसलाई क्लिक गर्नुहोस् र **नयाँ रिपोजिटरी** चयन गर्नुहोस्।
यहाँ के गर्ने:
1. तपाईंको रिपोजिटरीलाई नाम दिनुहोस् यसलाई तपाईंको लागि अर्थपूर्ण बनाउनुहोस्!
1. चाहनुहुन्छ भने विवरण थप्नुहोस् (यसले अरूलाई तपाईंको परियोजना के बारेमा हो भनेर बुझ्न मद्दत गर्दछ)
1. तपाईं यसलाई सार्वजनिक (सबैले देख्न सक्छन्) वा निजी (केवल तपाईंको लागि) चाहनुहुन्छ कि छैन निर्णय गर्नुहोस्
1. म सिफारिस गर्दछु कि README फाइल थप्नको लागि बाकस जाँच गर्नुहोस् यो तपाईंको परियोजनाको अगाडिको पृष्ठ जस्तै हो
1. **रिपोजिटरी सिर्जना गर्नुहोस्** क्लिक गर्नुहोस् र उत्सव मनाउनुहोस् तपाईंले आफ्नो पहिलो रिपो सिर्जना गर्नुभयो! 🎉
2. **तपाईंको परियोजना फोल्डरमा जानुहोस्**। अब हामी तपाईंको टर्मिनल खोलौं (चिन्ता नगर्नुहोस्, यो देखिने जस्तो डरावना छैन!)। हामीले तपाईंको कम्प्युटरलाई तपाईंको परियोजना फाइलहरू कहाँ छन् भनेर भन्न आवश्यक छ। यो कमाण्ड टाइप गर्नुहोस्:
```bash
cd [name of your folder]
```
**यहाँ हामी के गर्दैछौं:**
- हामी मूलतः भनिरहेका छौं "हे कम्प्युटर, मलाई मेरो परियोजना फोल्डरमा लैजाऊ"
- यो तपाईंको डेस्कटपमा विशिष्ट फोल्डर खोल्न जस्तै हो, तर हामी यसलाई पाठ कमाण्डहरूसँग गर्दैछौं
- `[तपाईंको फोल्डरको नाम]` लाई तपाईंको परियोजना फोल्डरको वास्तविक नामले प्रतिस्थापन गर्नुहोस्
3. **तपाईंको फोल्डरलाई Git रिपोजिटरीमा बदल्नुहोस्**। यहाँ जादू हुन्छ! टाइप गर्नुहोस्:
```bash
git init
```
**यहाँ के भयो (साँच्चै चिसो कुरा!):**
- Git ले तपाईंको परियोजनामा ​​लुकेको `.git` फोल्डर सिर्जना गर्‍यो तपाईंले यो देख्नुहुने छैन, तर यो त्यहाँ छ!
- तपाईंको नियमित फोल्डर अब एक "रिपोजिटरी" हो जसले तपाईंले गरेको प्रत्येक परिवर्तन ट्र्याक गर्न सक्छ
- यसलाई तपाईंको फोल्डरलाई सबै कुरा सम्झनको लागि सुपरपावर दिने जस्तो सोच्नुहोस्
4. **के भइरहेको छ जाँच गर्नुहोस्**। अहिले Git ले तपाईंको परियोजनाको बारेमा के सोचिरहेको छ हेर्नुहोस्:
```bash
git status
```
**Git ले तपाईंलाई के बताइरहेको छ बुझ्दै:**
तपाईंले यस्तो देख्न सक्नुहुन्छ:
```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 status` कमाण्ड तपाईंको सबैभन्दा राम्रो साथी हो! तपाईंलाई के भइरहेको छ भनेर भ्रमित हुँदा यो प्रयोग गर्नुहोस्। यो Git लाई सोध्न जस्तै हो "हे, अहिलेको स्थिति के हो?"
5. **तपाईंको फाइलहरू बचतको लागि तयार गर्नुहोस्** (यसलाई "स्टेजिङ" भनिन्छ):
```bash
git add .
```
**हामीले के गर्यौं:**
- हामीले Git लाई भन्यौं "हे, म मेरो फोल्डरमा सबै फाइलहरूलाई अर्को बचतमा समावेश गर्न चाहन्छु"
- `.` भन्नु भनेको "यस फोल्डरमा सबै कुरा" जस्तै हो
- अब तपाईंको फाइलहरू "स्टेज गरिएको" छ र अर्को चरणको लागि तयार छ
**अझ चयनात्मक हुन चाहनुहुन्छ?** तपाईं केवल विशिष्ट फाइलहरू थप्न सक्नुहुन्छ:
```bash
git add [file or folder name]
```
**किन तपाईंले यो गर्न चाहनुहुन्छ?**
- कहिलेकाहीं तपाईं सम्बन्धित परिवर्तनहरू सँगै बचत गर्न चाहनुहुन्छ
- यसले तपाईंलाई तपाईंको कामलाई तार्किक टुक्रामा व्यवस्थित गर्न मद्दत गर्दछ
- के परिवर्तन भयो र कहिले भयो भनेर बुझ्न सजिलो बनाउँछ
**तपाईंको विचार परिवर्तन भयो?** चिन्ता नगर्नुहोस्! तपाईं फाइलहरूलाई यसरी अनस्टेज गर्न सक्नुहुन्छ:
```bash
# Unstage everything
git reset
# Unstage just one file
git reset [file name]
```
चिन्ता नगर्नुहोस् यसले तपाईंको काम मेटाउँदैन, यसले केवल फाइलहरूलाई "बचतको लागि तयार" ढेरबाट हटाउँछ।
6. **तपाईंको काम स्थायी रूपमा बचत गर्नुहोस्** (तपाईंको पहिलो कमिट बनाउँदै!):
```bash
git commit -m "first commit"
```
**🎉 बधाई छ! तपाईंले आफ्नो पहिलो कमिट गर्नुभयो!**
**यहाँ के भयो:**
- Git ले तपाईंको स्टेज गरिएको सबै फाइलहरूको "स्न्यापशट" यस सटीक क्षणमा लियो
- तपाईंको कमिट सन्देश "पहिलो कमिट" ले यो बचत बिन्दु के बारेमा हो भनेर व्याख्या गर्दछ
- Git ले यस स्न्यापशटलाई एक अद्वितीय ID दियो ताकि तपाईंले यसलाई पछि सधैं फेला पार्न सक्नुहुन्छ
- तपाईंले आधिकारिक रूपमा तपाईंको परियोजनाको इतिहास ट्र्याक गर्न सुरु गर्नुभएको छ!
> 💡 **भविष्यका कमिट सन्देशहरू**: तपाईंको अर्को कमिटहरूको लागि, अझ वर्णनात्मक बनाउनुहोस्! "अपडेट गरिएको सामग्री" सट्टा, "होमपेजमा सम्पर्क फारम थप
- हामीले तपाईंको स्थानीय प्रोजेक्ट र तपाईंको GitHub रिपोजिटरी बीच कनेक्शन बनायौं।
- "Origin" तपाईंको GitHub रिपोजिटरीको उपनाम मात्र हो यो फोनमा सम्पर्क थप्ने जस्तै हो।
- अब तपाईंको स्थानीय Gitलाई थाहा छ कि तपाईं आफ्नो कोड साझा गर्न तयार हुँदा कहाँ पठाउने।
💡 **सजिलो तरिका**: यदि तपाईंले GitHub CLI स्थापना गर्नुभएको छ भने, तपाईंले यो एक आदेशमा गर्न सक्नुहुन्छ:
```bash
gh repo create my-repo --public --push --source=.
```
8. **तपाईंको कोड GitHub मा पठाउनुहोस्** (ठूलो क्षण!):
```bash
git push -u origin main
```
**🚀 यही हो! तपाईं आफ्नो कोड GitHub मा अपलोड गर्दै हुनुहुन्छ!**
**के भइरहेको छ:**
- तपाईंको कमिटहरू तपाईंको कम्प्युटरबाट GitHub मा यात्रा गर्दैछन्।
- `-u` फ्ल्यागले स्थायी कनेक्शन सेटअप गर्दछ ताकि भविष्यमा पुशहरू सजिलो होस्।
- "main" तपाईंको प्राथमिक ब्रान्चको नाम हो (जस्तै मुख्य फोल्डर)।
- यसपछि, तपाईं भविष्यका अपलोडहरूको लागि मात्र `git push` टाइप गर्न सक्नुहुन्छ!
💡 **छोटो नोट**: यदि तपाईंको ब्रान्चको नाम केही फरक छ (जस्तै "master"), त्यो नाम प्रयोग गर्नुहोस्। तपाईं `git branch --show-current` प्रयोग गरेर जाँच गर्न सक्नुहुन्छ।
9. **तपाईंको नयाँ दैनिक कोडिङ ताल** (यो लत लाग्ने ठाउँ हो!):
अबदेखि, जब तपाईं आफ्नो प्रोजेक्टमा परिवर्तन गर्नुहुन्छ, तपाईंले यो सरल तीन चरणको नृत्य गर्नुभएको छ:
```bash
git add .
git commit -m "describe what you changed"
git push
```
**यो तपाईंको कोडिङको मुटुको धड्कन बन्छ:**
- तपाईंको कोडमा केही अद्भुत परिवर्तन गर्नुहोस् ✨
- `git add` प्रयोग गरेर तिनीहरूलाई स्टेज गर्नुहोस् ("हे Git, यी परिवर्तनहरूमा ध्यान दिनुहोस्!")
- `git commit` र वर्णनात्मक सन्देशको साथ तिनीहरूलाई बचत गर्नुहोस् (भविष्यमा तपाईंलाई धन्यवाद दिनुहुनेछ!)
- `git push` प्रयोग गरेर तिनीहरूलाई संसारसँग साझा गर्नुहोस् 🚀
- दोहोर्याउनुहोस् गम्भीर रूपमा, यो सास फेर्ने जस्तै प्राकृतिक बन्छ!
म यो वर्कफ्लोलाई माया गर्छु किनभने यो भिडियो गेममा धेरै बचत बिन्दुहरू भएको जस्तै हो। तपाईंले मनपर्ने परिवर्तन गर्नुभयो? कमिट गर्नुहोस्! केही जोखिमपूर्ण प्रयास गर्न चाहनुहुन्छ? कुनै समस्या छैन यदि चीजहरू गलत दिशामा जान्छ भने तपाईं सधैं आफ्नो अन्तिम कमिटमा फर्कन सक्नुहुन्छ!
> 💡 **टिप**: तपाईंले `.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**: प्रत्येक कमिटलाई एकल तार्किक परिवर्तनको प्रतिनिधित्व गराउनुहोस्।
- **Frequent commits**: ठूला, कम कमिटहरू भन्दा वर्णनात्मक सन्देशहरू सहित बारम्बार कमिट गर्नुहोस्।
#### कमिट सन्देशहरू
एक उत्कृष्ट Git कमिट विषय लाइनले निम्न वाक्य पूरा गर्दछ:
यदि लागू गरियो भने, यो कमिट <तपाईंको विषय लाइन यहाँ> हुनेछ।
विषयको लागि अनिवार्य, वर्तमान काल प्रयोग गर्नुहोस्: "change" होइन "changed" वा "changes"।
विषयमा जस्तै, शरीरमा (वैकल्पिक) पनि अनिवार्य, वर्तमान काल प्रयोग गर्नुहोस्। शरीरले परिवर्तनको प्रेरणा समावेश गर्नुपर्छ र यसलाई अघिल्लो व्यवहारसँग तुलना गर्नुपर्छ। तपाईं `किन` व्याख्या गर्दै हुनुहुन्छ, `कसरी` होइन।
✅ GitHub वरिपरि केही मिनेट सर्फ गर्नुहोस्। के तपाईं साँच्चै उत्कृष्ट कमिट सन्देश पाउन सक्नुहुन्छ? के तपाईं साँच्चै न्यूनतम एक पाउन सक्नुहुन्छ? कमिट सन्देशमा जानकारीको सबैभन्दा महत्त्वपूर्ण र उपयोगी के हो भन्ने तपाईंलाई लाग्छ?
## अरूसँग काम गर्ने (मजाको भाग!)
तपाईंको टोपी समात्नुहोस् किनभने यही हो जहाँ GitHub पूर्ण रूपमा जादुई बन्छ! 🪄 तपाईंले आफ्नो कोड व्यवस्थापन गर्न सिक्नुभयो, तर अब हामी मेरो पूर्ण मनपर्ने भागमा डुब्न गइरहेका छौं संसारभरका अद्भुत व्यक्तिहरूसँग सहकार्य।
यो चित्रण गर्नुहोस्: तपाईं भोलि बिहान उठ्नुहुन्छ र देख्नुहुन्छ कि टोकियोमा कसैले तपाईंको कोड सुधार गरेको छ जब तपाईं सुतिरहनुभएको थियो। त्यसपछि बर्लिनमा कसैले तपाईं अड्किएको बगलाई ठीक गर्छ। दिउँसोसम्म, साओ पाउलोमा एक डेभलपरले तपाईंले कहिल्यै सोच्न नसकेको सुविधा थपेको छ। यो विज्ञान कल्पना होइन यो GitHub ब्रह्माण्डमा सामान्य मंगलवार मात्र हो!
मलाई साँच्चै उत्साहित बनाउने कुरा के हो भने तपाईंले सिक्न लागेको सहकार्य कौशल? यी EXACT उही वर्कफ्लोहरू हुन् जुन Google, Microsoft, र तपाईंको मनपर्ने स्टार्टअपहरूका टोलीहरूले प्रत्येक दिन प्रयोग गर्छन्। तपाईं केवल एक चिसो उपकरण सिक्दै हुनुहुन्न तपाईं सम्पूर्ण सफ्टवेयर संसारलाई सँगै काम गर्न बनाउने गोप्य भाषा सिक्दै हुनुहुन्छ।
गम्भीर रूपमा, जब तपाईंले कसैले तपाईंको पहिलो पुल अनुरोध मर्ज गरेको अनुभव गर्नुभयो भने, तपाईंले बुझ्नुहुनेछ किन डेभलपरहरू खुला स्रोतको बारेमा यति भावुक हुन्छन्। यो संसारको सबैभन्दा ठूलो, सबैभन्दा रचनात्मक टोली परियोजनाको हिस्सा भएको जस्तै हो!
> भिडियो हेर्नुहोस्
>
> [![Git र GitHub आधारभूत भिडियो](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
GitHub मा चीजहरू राख्ने मुख्य कारण अन्य डेभलपरहरूसँग सहकार्य गर्न सम्भव बनाउनु थियो।
तपाईंको रिपोजिटरीमा, `Insights > Community` मा नेभिगेट गर्नुहोस् र तपाईंको प्रोजेक्ट सिफारिस गरिएको समुदाय मापदण्डहरूसँग कसरी तुलना हुन्छ हेर्नुहोस्।
तपाईंको रिपोजिटरीलाई व्यावसायिक र स्वागतयोग्य देखाउन चाहनुहुन्छ? तपाईंको रिपोजिटरीमा जानुहोस् र `Insights > Community` मा क्लिक गर्नुहोस्। यो चिसो सुविधा तपाईंको प्रोजेक्ट GitHub समुदायले "राम्रो रिपोजिटरी अभ्यासहरू" मान्ने कुरासँग कसरी तुलना हुन्छ भनेर देखाउँछ।
> 🎯 **तपाईंको प्रोजेक्टलाई चम्काउनुहोस्**: राम्रोसँग व्यवस्थित रिपोजिटरी राम्रो दस्तावेजीकरणको साथ सफा, स्वागतयोग्य स्टोरफ्रन्ट भएको जस्तै हो। यसले मानिसहरूलाई तपाईंको कामको हेरचाह गर्ने बताउँछ र अरूलाई योगदान गर्न चाहना बनाउँछ!
**रिपोजिटरीलाई उत्कृष्ट बनाउने कुरा:**
| के थप्ने | किन यो महत्त्वपूर्ण छ | तपाईंको लागि के गर्छ |
|-------------|-------------------|---------------------|
| **Description** | पहिलो प्रभाव महत्त्वपूर्ण छ! | मानिसहरूले तुरुन्तै तपाईंको प्रोजेक्ट के गर्छ थाहा पाउँछन् |
| **README** | तपाईंको प्रोजेक्टको अगाडिको पृष्ठ | नयाँ आगन्तुकहरूको लागि जस्तै मैत्रीपूर्ण टुर गाइड |
| **Contributing Guidelines** | तपाईं सहयोग स्वागत गर्नुहुन्छ देखाउँछ | मानिसहरूले तपाईंलाई कसरी सहयोग गर्न सकिन्छ थाहा पाउँछन् |
| **Code of Conduct** | मैत्रीपूर्ण स्थान सिर्जना गर्दछ | सबैले सहभागी हुन स्वागत महसुस गर्छन् |
| **License** | कानुनी स्पष्टता | अरूले तपाईंको कोड कसरी प्रयोग गर्न सकिन्छ थाहा पाउँछन् |
| **Security Policy** | तपाईं जिम्मेवार हुनुहुन्छ देखाउँछ | व्यावसायिक अभ्यासहरू प्रदर्शन गर्दछ |
> 💡 **प्रो टिप**: GitHub ले यी सबै फाइलहरूको लागि टेम्प्लेटहरू प्रदान गर्दछ। नयाँ रिपोजिटरी सिर्जना गर्दा, यी फाइलहरू स्वचालित रूपमा उत्पन्न गर्न बक्सहरू जाँच गर्नुहोस्।
**आधुनिक GitHub सुविधाहरू अन्वेषण गर्न:**
🤖 **स्वचालन र CI/CD:**
- **GitHub Actions** स्वचालित परीक्षण र परिनियोजनको लागि
- **Dependabot** स्वचालित निर्भरता अपडेटहरूको लागि
💬 **समुदाय र प्रोजेक्ट व्यवस्थापन:**
- **GitHub Discussions** मुद्दाहरू भन्दा बाहिर समुदाय वार्तालापहरूको लागि
- **GitHub Projects** कानबान-शैली प्रोजेक्ट व्यवस्थापनको लागि
- **Branch protection rules** कोड गुणस्तर मापदण्ड लागू गर्न
यी सबै स्रोतहरूले नयाँ टोली सदस्यहरूलाई अनबोर्डिङमा फाइदा पुर्‍याउँछन्। र ती सामान्यतया नयाँ योगदानकर्ताहरूले तपाईंको कोड हेर्नु अघि हेर्ने प्रकारका चीजहरू हुन्, यो पत्ता लगाउन कि तपाईंको प्रोजेक्ट उनीहरूको समय खर्च गर्नको लागि सही स्थान हो।
✅ README फाइलहरू, यद्यपि तिनीहरू तयार गर्न समय लाग्छ, व्यस्त मर्मतकर्ताहरूले अक्सर बेवास्ता गर्छन्। के तपाईं विशेष रूपमा वर्णनात्मक एक उदाहरण पाउन सक्नुहुन्छ? नोट: त्यहाँ केही [README राम्रो बनाउन मद्दत गर्ने उपकरणहरू](https://www.makeareadme.com/) छन् जुन तपाईंले प्रयास गर्न चाहन सक्नुहुन्छ।
### कार्य: केही कोड मर्ज गर्नुहोस्
Contributing docs ले मानिसहरूलाई प्रोजेक्टमा योगदान गर्न मद्दत गर्दछ। यसले तपाईंले खोजिरहेको योगदानको प्रकार र प्रक्रिया कसरी काम गर्दछ भनेर व्याख्या गर्दछ। योगदानकर्ताहरूले GitHub मा तपाईंको रिपोजिटरीमा योगदान गर्न सक्षम हुन चरणहरूको श्रृंखला मार्फत जान आवश्यक छ:
1. **तपाईंको रिपोजिटरीलाई Fork गर्नुहोस्** तपाईंले सम्भवतः मानिसहरूलाई तपाईंको प्रोजेक्ट _fork_ गर्न चाहनुहुन्छ। Forking भनेको उनीहरूको GitHub प्रोफाइलमा तपाईंको रिपोजिटरीको प्रतिकृति सिर्जना गर्नु हो।
1. **Clone**। त्यहाँबाट उनीहरूले प्रोजेक्टलाई आफ्नो स्थानीय मेसिनमा क्लोन गर्नेछन्।
1. **ब्रान्च सिर्जना गर्नुहोस्**। तपाईंले उनीहरूलाई आफ्नो कामको लागि _ब्रान्च_ सिर्जना गर्न सोध्न चाहनुहुन्छ।
1. **एक क्षेत्रमा परिवर्तन केन्द्रित गर्नुहोस्**। योगदानकर्ताहरूलाई एक पटकमा एक कुरामा आफ्नो योगदान केन्द्रित गर्न सोध्नुहोस् - यसले तपाईंको काम _merge_ गर्ने सम्भावनालाई बढाउँछ। कल्पना गर्नुहोस् उनीहरूले बग फिक्स लेख्छन्, नयाँ सुविधा थप्छन्, र धेरै परीक्षणहरू अपडेट गर्छन् - के हुन्छ यदि तपाईं २ मध्ये ३, वा १ मध्ये ३ परिवर्तन मात्र लागू गर्न चाहनुहुन्छ वा सक्नुहुन्छ?
✅ ब्रान्चहरू विशेष रूपमा राम्रो कोड लेख्न र पठाउन महत्त्वपूर्ण हुने स्थिति कल्पना गर्नुहोस्। तपाईं के उपयोग केसहरू सोच्न सक्नुहुन्छ?
> नोट, तपाईं संसारमा देख्न चाहनुभएको परिवर्तन हुनुहोस्, र आफ्नो कामको लागि ब्रान्चहरू सिर्जना गर्नुहोस्। तपाईंले गर्ने कुनै पनि कमिटहरू तपाईं हाल "चेक आउट" गरिएको ब्रान्चमा गरिनेछ। `git status` प्रयोग गरेर त्यो कुन ब्रान्च हो हेर्नुहोस्।
आउनुहोस् योगदानकर्ताको वर्कफ्लोमा जाऔं। मानौं योगदानकर्ताले रिपोजिटरीलाई _fork__clone_ गरिसकेका छन् त्यसैले उनीहरूको स्थानीय मेसिनमा काम गर्न तयार 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
```
यस बिन्दुमा तपाईं सुनिश्चित गर्न चाहनुहुन्छ कि कुनै पनि _conflicts_, स्थिति जहाँ Git सजिलै _combine_ परिवर्तनहरू गर्न सक्दैन, तपाईंको कार्यरत ब्रान्चमा हुन्छ। त्यसैले निम्न आदेशहरू चलाउनुहोस्:
```bash
git switch [branch_name]
git merge main
```
`git merge main` आदेशले `main` बाट सबै परिवर्तनहरू तपाईंको ब्रान्चमा ल्याउनेछ। आशा छ तपाईं केवल जारी राख्न सक्नुहुन्छ। यदि छैन भने, VS Code ले तपाईंलाई Git _confused_ भएको ठाउँ बताउनेछ र तपाईंले प्रभावित फाइलहरू परिवर्तन गर्नुपर्नेछ कि कुन सामग्री सबैभन्दा सही छ।
💡 **आधुनिक विकल्प**: सफा इतिहासको लागि `git rebase` प्रयोग गर्ने विचार गर्नुहोस्:
```bash
git rebase main
```
यसले तपाईंको कमिटहरू पछिल्लो मुख्य ब्रान्चको शीर्षमा पुनः प्ले गर्दछ, रेखीय इतिहास सिर्जना गर्दछ।
1. **तपाईंको काम GitHub मा पठाउनुहोस्**। तपाईंको काम GitHub मा पठाउनुको मतलब दुई कुरा हो। तपाईंको ब्रान्चलाई तपाईंको रिपोजिटरीमा पुश गर्नुहोस् र त्यसपछि PR, Pull Request खोल्नुहोस्।
```bash
git push --set-upstream origin [branch-name]
```
माथिको आदेशले तपाईंको फोर्क गरिएको रिपोजिटरीमा ब्रान्च सिर्जना गर्दछ।
1. **PR खोल्नुहोस्**। त्यसपछि, तपाईं PR खोल्न चाहनुहुन्छ। तपाईंले GitHub मा फोर्क गरिएको रिपोजिटरीमा नेभिगेट गरेर यो गर्नुहुन्छ। GitHub मा तपाईंले नयाँ PR सिर्जना गर्न चाहनुहुन्छ कि भनेर संकेत देख्नुहुनेछ, तपाईंले त्यसमा क्लिक गर्नुहुन्छ र तपाईंलाई एउटा इन्टरफेसमा लगिन्छ जहाँ तपाईं कमिट सन्देश शीर्षक परिवर्तन गर्न सक्नुहुन्छ, यसलाई उपयुक्त विवरण दिन सक्नुहुन्छ। अब तपाईंले फोर्क गरेको रिपोजिटरीको मर्मतकर्ताले यो PR देख्नेछन् र _fingers crossed_ उनीहरूले तपाईंको PR लाई सराहना गर्नेछन् र _merge_ गर्नेछन्। तपाईं अब योगदानकर्ता हुनुहुन्छ, याय :)
💡 **आधुनिक टिप**: तपाईं GitHub CLI प्रयोग गरेर पनि PR सिर्जना गर्न सक्नुहुन्छ:
```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 ब्रान्चमा परिचय गरिएका भिन्नताहरू समीक्षा, टिप्पणी, एकीकृत परीक्षणहरू, र थपको साथ तुलना र छलफल गर्ने ठाउँ
🤞 सबै चेक पास होस् र परियोजना मालिक(हरू)ले तपाईंको परिवर्तनहरू परियोजनामा ​​मर्ज गरून् 🤞
तपाईंको स्थानीय कार्य शाखालाई GitHub मा रहेको सम्बन्धित रिमोट शाखाबाट सबै नयाँ कमिटहरूसँग अपडेट गर्नुहोस्:
`git pull`
## ओपन सोर्समा योगदान गर्नुहोस् (तपाईंको प्रभाव पार्ने मौका!)
के तपाईं केही यस्तो गर्न तयार हुनुहुन्छ जसले तपाईंलाई पूर्ण रूपमा चकित बनाउनेछ? 🤯 आउनुहोस्, ओपन सोर्स परियोजनाहरूमा योगदान गर्ने कुरा गरौं र यो कुरा तपाईंलाई बताउन पाउँदा म उत्साहित छु!
यो तपाईंको असाधारण कुराको हिस्सा बन्ने मौका हो। कल्पना गर्नुहोस्, ती उपकरणहरू सुधार गर्दै जुन लाखौं विकासकर्ताहरूले दैनिक प्रयोग गर्छन्, वा तपाईंका साथीहरूले मन पराउने एपमा बग फिक्स गर्दै। यो केवल सपना होइन यो नै ओपन सोर्स योगदानको सार हो!
यो सोच्दा मलाई सधैं रोमाञ्चक लाग्छ: तपाईंले सिक्दै गरेको प्रत्येक उपकरण तपाईंको कोड एडिटर, हामीले अन्वेषण गर्ने फ्रेमवर्कहरू, यहाँसम्म कि तपाईंले यो पढ्न प्रयोग गरिरहेको ब्राउजर कुनै व्यक्तिले आफ्नो पहिलो योगदान गर्दै सुरु गरेको थियो। तपाईंको मनपर्ने VS Code एक्सटेन्सन बनाउने प्रतिभाशाली विकासकर्ता? उनी पनि एक पटक तपाईं जस्तै नयाँ थिए, "create pull request" क्लिक गर्दा हात काँपिरहेको थियो।
र सबैभन्दा सुन्दर कुरा के छ भने: ओपन सोर्स समुदाय इन्टरनेटको सबैभन्दा ठूलो समूहजस्तो छ। धेरै परियोजनाहरू नयाँ व्यक्तिहरूको खोजीमा हुन्छन् र "good first issue" ट्याग भएका समस्याहरू राख्छन् विशेष गरी तपाईंजस्ता व्यक्तिहरूका लागि! मेन्टेनरहरू नयाँ योगदानकर्ताहरू देख्दा साँच्चै उत्साहित हुन्छन् किनभने उनीहरूले आफ्ना पहिलो कदमहरू सम्झन्छन्।
तपाईं यहाँ केवल कोड सिक्दै हुनुहुन्न तपाईं एक विश्वव्यापी परिवारको हिस्सा बन्न तयार हुनुहुन्छ जसले प्रत्येक दिन "डिजिटल संसारलाई अलिकति राम्रो कसरी बनाउने?" भन्ने सोच्दै उठ्छ। क्लबमा स्वागत छ! 🌟
पहिले, GitHub मा तपाईंलाई चासो लाग्ने र जसमा तपाईं परिवर्तन गर्न चाहनुहुन्छ त्यस्तो रिपोजिटरी (वा **repo**) खोजौं। तपाईं यसको सामग्रीलाई आफ्नो मेसिनमा कपी गर्न चाहनुहुन्छ।
✅ 'beginner-friendly' रिपोजिटरीहरू खोज्नको लागि [ट्याग '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 Desktop](https://desktop.github.com/)** - Git अपरेसनहरूको लागि GUI एप्लिकेसन
- **[GitHub.dev](https://github.dev)** - कुनै पनि GitHub रिपोजिटरीमा `.` थिचेर ब्राउजरमा VS Code खोल्नुहोस्
- **VS Code** GitHub Pull Requests एक्सटेन्सनसहित
अन्तमा, तपाईं कोडलाई जिप गरिएको फोल्डरमा डाउनलोड गर्न सक्नुहुन्छ।
### GitHub का केही रोचक कुरा
तपाईं GitHub मा कुनै पनि सार्वजनिक रिपोजिटरीलाई स्टार, वाच र/वा "fork" गर्न सक्नुहुन्छ। तपाईंले आफ्नो स्टार गरिएको रिपोजिटरीहरूलाई माथि दायाँ ड्रप-डाउन मेनुमा फेला पार्न सक्नुहुन्छ। यो कोडको लागि बुकमार्क गर्ने जस्तै हो।
परियोजनाहरूमा प्रायः 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 सेट गर्नु। तपाईं धेरै कुरा गर्न सक्नुहुन्छ!
---
## 🚀 चुनौती
ठिक छ, तपाईंको नयाँ GitHub सुपरपावरहरू परीक्षण गर्ने समय हो! 🚀 यहाँ एउटा चुनौती छ जसले सबै कुरा सबैभन्दा सन्तोषजनक तरिकामा क्लिक गराउनेछ:
एउटा साथी (वा त्यो परिवारको सदस्य जो सधैं सोध्छ कि तपाईं "कम्प्युटरको काम" के गर्दै हुनुहुन्छ) समात्नुहोस् र सँगै एक सहकारी कोडिङ साहसिक कार्यमा सामेल हुनुहोस्! यहीँ वास्तविक जादू हुन्छ एउटा परियोजना सिर्जना गर्नुहोस्, उनीहरूलाई यसलाई फोर्क गर्न दिनुहोस्, केही शाखाहरू बनाउनुहोस्, र तपाईं बन्ने पेशेवरहरू जस्तै परिवर्तनहरू मर्ज गर्नुहोस्।
म झुट बोल्दिन तपाईं कुनै बिन्दुमा हाँस्नुहुनेछ (विशेष गरी जब तपाईं दुवैले एउटै लाइन परिवर्तन गर्न प्रयास गर्नुहुन्छ), सायद अलमलमा पर्नुहुनेछ, तर तपाईं निश्चित रूपमा ती अद्भुत "आहा!" क्षणहरू पाउनुहुनेछ जसले सबै सिकाइलाई सार्थक बनाउँछ। साथै, कसैसँग त्यो पहिलो सफल मर्ज साझा गर्ने कुरा विशेष हुन्छ यो तपाईंले कति टाढा आइपुग्नुभएको छ भन्ने सानो उत्सव जस्तै हो!
अझै कोडिङ साथी छैन? कुनै चिन्ता छैन! GitHub समुदायमा धेरै स्वागतयोग्य मानिसहरू छन् जसले नयाँ भएको अनुभव सम्झन्छन्। "good first issue" लेबल भएका रिपोजिटरीहरू खोज्नुहोस् तिनीहरू मूलतः भन्छन् "हे नयाँहरू, हामीसँग सिक्न आउनुहोस्!" यो कति राम्रो छ?
## पोस्ट-लेक्चर क्विज
[पोस्ट-लेक्चर क्विज](https://ff-quizzes.netlify.app/web/en/)
## समीक्षा गर्नुहोस् र सिक्न जारी राख्नुहोस्
वाह! 🎉 तपाईं तपाईंले GitHub को आधारभूत कुराहरू एकदम च्याम्पियन जस्तै जित्नुभयो! यदि तपाईंको दिमाग अहिले अलिकति भरिएको जस्तो लाग्छ भने, त्यो पूर्ण रूपमा सामान्य हो र इमानदारीपूर्वक राम्रो संकेत हो। तपाईंले अहिले मात्र ती उपकरणहरू सिक्नुभयो जुन मैले सुरु गर्दा सिक्न हप्ताहरू लाग्यो।
Git र GitHub अविश्वसनीय रूपमा शक्तिशाली छन् (जस्तै, साँच्चै शक्तिशाली), र मैले चिनेका प्रत्येक विकासकर्ताले जसले अहिले जादूगर जस्तो देखिन्छ अभ्यास गर्नुपरेको थियो र यो सबै क्लिक गर्नुअघि अलमलमा पर्नुपरेको थियो। तपाईंले यो पाठ पूरा गर्नुभएको तथ्यले तपाईंलाई विकासकर्ताको टूलकिटका सबैभन्दा महत्त्वपूर्ण उपकरणहरूमा महारत हासिल गर्नको लागि पहिले नै बाटोमा राखेको छ।
यहाँ केही उत्कृष्ट स्रोतहरू छन् जसले तपाईंलाई अभ्यास गर्न र अझ अद्भुत बन्न मद्दत गर्नेछ:
- [ओपन सोर्स सफ्टवेयर गाइडमा योगदान](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) फरक पार्ने तपाईंको रोडम्याप
- [Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/) छिटो सन्दर्भको लागि यो हातमा राख्नुहोस्!
र सम्झनुहोस्: अभ्यासले प्रगति ल्याउँछ, पूर्णता होइन! तपाईंले Git र GitHub जति धेरै प्रयोग गर्नुहुन्छ, यो त्यति नै स्वाभाविक हुन्छ। GitHub ले केही अद्भुत अन्तरक्रियात्मक पाठ्यक्रमहरू सिर्जना गरेको छ जसले तपाईंलाई सुरक्षित वातावरणमा अभ्यास गर्न दिन्छ:
- [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 रिपोजिटरी सिर्जना गर्नुहोस्। रिपोजिटरीमा राम्रो संरचित README.md फाइल समावेश गर्नुहोस् जसमा उपयोगी वेब विकास उपकरणहरू र स्रोतहरू सूचीबद्ध गरिएको हो, श्रेणीहरू (HTML, CSS, JavaScript, आदि) द्वारा व्यवस्थित। रिपोजिटरीलाई उचित समुदाय मापदण्डहरू सहित सेट गर्नुहोस् जसमा लाइसेन्स, योगदान दिशानिर्देशहरू, र आचार संहिता समावेश छ। CSS स्रोतहरू थप्नको लागि एउटा शाखा र JavaScript स्रोतहरू थप्नको लागि अर्को शाखा सिर्जना गर्नुहोस्। प्रत्येक शाखामा वर्णनात्मक कमिट सन्देशहरू सहित कमिटहरू गर्नुहोस्, त्यसपछि परिवर्तनहरू मुख्यमा मर्ज गर्न Pull Requests सिर्जना गर्नुहोस्। Issues, Discussions जस्ता GitHub सुविधाहरू सक्षम गर्नुहोस् र स्वचालित चेकहरूको लागि आधारभूत GitHub Actions वर्कफ्लो सेट गर्नुहोस्।
## असाइनमेन्ट
तपाईंको मिशन, यदि तपाईंले स्वीकार गर्नुभयो भने: GitHub Skills मा [GitHub को परिचय](https://github.com/skills/introduction-to-github) पाठ्यक्रम पूरा गर्नुहोस्। यो अन्तरक्रियात्मक पाठ्यक्रमले तपाईंलाई सुरक्षित, निर्देशित वातावरणमा तपाईंले सिकेको सबै कुरा अभ्यास गर्न दिन्छ। साथै, तपाईंले पूरा गरेपछि एउटा राम्रो ब्याज पाउनुहुनेछ! 🏅
**अझै चुनौतीहरूको लागि तयार हुनुहुन्छ?**
- आफ्नो GitHub खाताको लागि SSH प्रमाणीकरण सेट गर्नुहोस् (अब पासवर्ड आवश्यक छैन!)
- आफ्नो दैनिक Git अपरेसनहरूको लागि GitHub CLI प्रयोग गर्ने प्रयास गर्नुहोस्
- GitHub Actions वर्कफ्लो भएको रिपोजिटरी सिर्जना गर्नुहोस्
- यो रिपोजिटरीलाई क्लाउड-आधारित सम्पादकमा खोल्दै GitHub Codespaces अन्वेषण गर्नुहोस्
सम्झनुहोस्: प्रत्येक विशेषज्ञ एक पटक नयाँ थियो। तपाईंले यो गर्न सक्नुहुन्छ! 💪
---
**अस्वीकरण**:
यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।