# GitHub परिचय नमस्कार, भविष्यातील विकसक! 👋 जगभरातील लाखो कोडर्समध्ये सामील होण्यासाठी तयार आहात का? तुम्हाला GitHub ची ओळख करून देताना मला खूप आनंद होत आहे – हे प्रोग्रामर्ससाठी सोशल मीडिया प्लॅटफॉर्मसारखे आहे, फक्त दुपारच्या जेवणाचे फोटो शेअर करण्याऐवजी, आम्ही कोड शेअर करत आहोत आणि एकत्रितपणे अद्भुत गोष्टी तयार करत आहोत! माझ्या मनाला खरोखर आश्चर्यचकित करणारी गोष्ट म्हणजे: तुमच्या फोनवरील प्रत्येक अॅप, तुम्ही भेट देत असलेली प्रत्येक वेबसाइट आणि तुम्ही वापरण्यास शिकत असलेली बहुतेक साधने GitHub सारख्या प्लॅटफॉर्मवर सहकार्य करणाऱ्या विकसकांच्या टीमद्वारे तयार केली गेली आहेत. तुम्हाला आवडणारे संगीत अॅप? तुमच्यासारख्या कोणीतरी त्यात योगदान दिले आहे. तुम्ही खेळत असलेला खेळ? होय, कदाचित GitHub सहकार्याने तयार केलेला. आणि आता तुम्ही त्या अद्भुत समुदायाचा भाग बनण्यास शिकणार आहात! मला माहित आहे की सुरुवातीला हे थोडे जास्त वाटू शकते – खरं सांगायचं तर, मी माझ्या पहिल्या GitHub पृष्ठाकडे पाहत होतो आणि विचार करत होतो "याचा अर्थ काय आहे?" पण गोष्ट अशी आहे: प्रत्येक विकसक नेमके तिथून सुरुवात करतो जिथे तुम्ही आहात. या धड्याच्या शेवटी, तुमच्याकडे तुमचे स्वतःचे GitHub रिपॉझिटरी असेल (ते म्हणजे क्लाउडमधील तुमचे वैयक्तिक प्रोजेक्ट शोकेस), आणि तुम्हाला तुमचे काम कसे जतन करायचे, इतरांसोबत कसे शेअर करायचे आणि लाखो लोक वापरत असलेल्या प्रोजेक्ट्समध्ये कसे योगदान द्यायचे हे माहित असेल. आपण एकत्रितपणे हा प्रवास करू, एक पाऊल एकावेळी. घाई नाही, दबाव नाही – फक्त तुम्ही, मी आणि काही खरोखर छान साधने जी तुमचे नवीन सर्वोत्तम मित्र बनणार आहेत! ![GitHub परिचय](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.mr.png) > स्केच नोट [Tomomi Imura](https://twitter.com/girlie_mac) यांच्याकडून ```mermaid journey title तुमचा GitHub प्रवास आज section सेटअप Git स्थापित करा: 4: तुम्ही खाते तयार करा: 5: तुम्ही पहिला रिपॉझिटरी: 5: तुम्ही section Git मास्टर करा स्थानिक बदल: 4: तुम्ही कमिट्स आणि पुशेस: 5: तुम्ही शाखा तयार करणे: 4: तुम्ही section सहकार्य करा प्रकल्प फोर्क करा: 4: तुम्ही पुल विनंत्या: 5: तुम्ही ओपन सोर्स: 5: तुम्ही ``` ## पूर्व-व्याख्यान प्रश्नमंजुषा [पूर्व-व्याख्यान प्रश्नमंजुषा](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 # SSH की निर्माण करा (आधुनिक ed25519 अल्गोरिदम) ssh-keygen -t ed25519 -C "your_email@example.com" # SSH वापरण्यासाठी Git सेट करा git remote set-url origin git@github.com:username/repository.git ``` > 💡 **प्रो टिप**: SSH कीज परत परत पासवर्ड टाइप करण्याची गरज दूर करतात आणि पारंपरिक प्रमाणीकरण पद्धतींपेक्षा अधिक सुरक्षित आहेत. --- ## तुमचा कोड व्यावसायिकासारखा व्यवस्थापित करा ठीक आहे, आता गोष्टी खरोखर रोमांचक होतात! 🎉 आम्ही तुमचा कोड व्यावसायिकांसारखा ट्रॅक आणि व्यवस्थापित कसा करायचा ते शिकणार आहोत, आणि प्रामाणिकपणे सांगायचे तर, हे शिकवणे माझ्या आवडत्या गोष्टींपैकी एक आहे कारण हे खूप गेम-चेंजर आहे. कल्पना करा: तुम्ही एक अद्भुत कथा लिहित आहात, आणि तुम्हाला प्रत्येक मसुदा, प्रत्येक उत्कृष्ट संपादन आणि प्रत्येक "थांबा, हे विलक्षण आहे!" क्षण ट्रॅक करायचे आहेत. Git तुमच्या कोडसाठी नेमके तेच करते! हे सर्वकाही लक्षात ठेवणारे सर्वात अविश्वसनीय वेळ प्रवास करणारे नोटबुक असल्यासारखे आहे – प्रत्येक कीस्ट्रोक, प्रत्येक बदल, प्रत्येक "अरे, यामुळे सर्व काही बिघडले" क्षण जो तुम्ही त्वरित पूर्ववत करू शकता. मी प्रामाणिकपणे सांगतो – सुरुवातीला हे थोडे जास्त वाटू शकते. जेव्हा मी सुरुवात केली, तेव्हा मी विचार केला "मी माझ्या फाइल्स सामान्यपणे का जतन करू शकत नाही?" पण यावर माझा विश्वास ठेवा: एकदा Git तुमच्यासाठी क्लिक केल्यावर (आणि ते होईल!), तुम्हाला एक प्रकाशाचा क्षण येईल जिथे तुम्ही विचार कराल "मी कधीही याशिवाय कोड कसा केला?" हे असे आहे जसे तुम्हाला उडता येते हे शोधणे जेव्हा तुम्ही तुमच्या आयुष्यात सर्वत्र चालत होता! समजा तुमच्याकडे स्थानिकपणे काही कोड प्रोजेक्टसह एक फोल्डर आहे आणि तुम्हाला git - व्हर्जन कंट्रोल सिस्टम वापरून तुमची प्रगती ट्रॅक करायची आहे. काही लोक git वापरण्याची तुलना तुमच्या भविष्यातील स्वतःसाठी प्रेम पत्र लिहिण्याशी करतात. तुमचे कमिट संदेश काही दिवस, आठवडे किंवा महिने नंतर वाचताना तुम्हाला आठवेल की तुम्ही का निर्णय घेतला, किंवा "रोलबॅक" बदल – म्हणजे, जेव्हा तुम्ही चांगले "कमिट संदेश" लिहिता. ```mermaid flowchart TD A[📁 तुमची प्रकल्प फाइल्स] --> B{हे Git रिपॉझिटरी आहे का?} B -->|नाही| C[git init] B -->|होय| D[बदल करा] C --> D D --> E[git add .] E --> F["git commit -m 'संदेश'"] F --> G[git push] G --> H[🌟 GitHub वर कोड!] H --> I{सहकार्य करू इच्छिता?} I -->|होय| J[Fork & Clone] I -->|नाही| D J --> K[शाखा तयार करा] K --> L[बदल करा] L --> M[Pull Request] M --> N[🎉 योगदान!] style A fill:#fff59d style H fill:#c8e6c9 style N fill:#ff4081,color:#fff ``` ### कार्य: तुमचे पहिले रिपॉझिटरी तयार करा! > 🎯 **तुमचे मिशन (आणि मी तुमच्यासाठी खूप उत्सुक आहे!)**: आपण एकत्रितपणे तुमचे पहिले 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 ..." to update what will be committed) (use "git restore ..." 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] ``` **तुम्हाला असे का करायचे आहे?** - कधी कधी तुम्हाला संबंधित बदल एकत्रितपणे जतन करायचे असतात - हे तुमचे काम तार्किक तुकड्यांमध्ये व्यवस्थित करण्यात मदत करते - काय बदलले आणि कधी याचा अर्थ समजणे सोपे करते **तुमचे मन बदलले?** काळजी करू नका! तुम्ही फाइल्स अशा प्रकारे - आम्ही तुमच्या स्थानिक प्रोजेक्ट आणि GitHub रेपॉझिटरीमध्ये कनेक्शन तयार केले आहे. - "Origin" हे तुमच्या GitHub रेपॉझिटरीसाठी एक टोपणनाव आहे – जसे फोनमध्ये संपर्क जोडणे. - आता तुमच्या स्थानिक Git ला माहित आहे की कोड शेअर करण्यासाठी तो कुठे पाठवायचा आहे. 💡 **सोपा मार्ग**: जर तुमच्याकडे GitHub CLI इंस्टॉल असेल, तर तुम्ही हे एका कमांडमध्ये करू शकता: ```bash gh repo create my-repo --public --push --source=. ``` 8. **तुमचा कोड GitHub वर पाठवा** (महत्त्वाचा क्षण!): ```bash git push -u origin main ``` **🚀 हेच ते! तुम्ही तुमचा कोड GitHub वर अपलोड करत आहात!** **काय होत आहे:** - तुमचे commits तुमच्या संगणकावरून 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` वापरून त्यांना stage करा ("Git, या बदलांकडे लक्ष द्या!") - `git commit` वापरून त्यांना सेव्ह करा आणि एक वर्णनात्मक संदेश द्या (भविष्यातील तुम्ही तुमचे आभार मानाल!) - `git push` वापरून ते जगासोबत शेअर करा 🚀 - पुन्हा करा – खरंच, हे श्वास घेण्याइतके नैसर्गिक बनते! मला हा वर्कफ्लो आवडतो कारण हे व्हिडिओ गेममध्ये अनेक सेव्ह पॉइंट्स असण्यासारखे आहे. तुम्हाला आवडलेला बदल केला? Commit करा! काही धोकादायक प्रयत्न करायचे आहेत? काही हरकत नाही – जर गोष्टी बिघडल्या तर तुम्ही नेहमी तुमच्या शेवटच्या commit वर परत जाऊ शकता! > 💡 **टिप**: तुम्ही `.gitignore` फाइल स्वीकारू इच्छित असाल जेणेकरून तुम्हाला ट्रॅक करायचे नाही असे फाइल्स GitHub वर दिसणार नाहीत - जसे की नोट्स फाइल जी तुम्ही त्याच फोल्डरमध्ये ठेवता पण सार्वजनिक रेपॉझिटरीवर त्याचे स्थान नाही. तुम्ही `.gitignore` फाइल्ससाठी टेम्पलेट्स [.gitignore templates](https://github.com/github/gitignore) येथे शोधू शकता किंवा [gitignore.io](https://www.toptal.com/developers/gitignore) वापरून एक तयार करू शकता. ### 🧠 **पहिला रेपॉझिटरी चेक-इन: कसे वाटले?** **थोडा वेळ साजरा करा आणि विचार करा:** - तुमचा कोड GitHub वर पहिल्यांदा दिसल्यावर कसे वाटले? - कोणता स्टेप सर्वात गोंधळात टाकणारा वाटला आणि कोणता आश्चर्यकारकपणे सोपा वाटला? - तुम्ही तुमच्या शब्दांत `git add`, `git commit`, आणि `git push` मधील फरक स्पष्ट करू शकता का? ```mermaid stateDiagram-v2 [*] --> LocalFiles: प्रकल्प तयार करा LocalFiles --> Staged: git add . Staged --> Committed: git commit Committed --> GitHub: git push GitHub --> [*]: यशस्वी! 🎉 note right of Staged फायली जतन करण्यासाठी तयार end note note right of Committed स्नॅपशॉट तयार केले end note ``` > **लक्षात ठेवा**: अनुभवी डेव्हलपर्ससुद्धा कधी कधी अचूक कमांड्स विसरतात. हा वर्कफ्लो मसल मेमरी बनवण्यासाठी सराव आवश्यक आहे - तुम्ही उत्तम काम करत आहात! #### आधुनिक Git वर्कफ्लो या आधुनिक पद्धती स्वीकारण्याचा विचार करा: - **Conventional Commits**: `feat:`, `fix:`, `docs:` इत्यादीसारख्या प्रमाणित commit संदेश स्वरूपाचा वापर करा. अधिक जाणून घ्या [conventionalcommits.org](https://www.conventionalcommits.org/) येथे. - **Atomic commits**: प्रत्येक commit एकच तर्कसंगत बदल दर्शवेल याची खात्री करा. - **Frequent commits**: मोठ्या, क्वचितच होणाऱ्या commits ऐवजी वर्णनात्मक संदेशांसह वारंवार commit करा. #### Commit संदेश एक उत्तम Git commit विषय ओळ खालील वाक्य पूर्ण करते: जर लागू केले, तर हा commit <तुमचा विषय येथे> विषयासाठी imperative, present tense वापरा: "change" नाही "changed" किंवा "changes". विषयासारखेच, body (पर्यायी) मध्येही imperative, present tense वापरा. body मध्ये बदलासाठी प्रेरणा समाविष्ट करा आणि यापूर्वीच्या वर्तनाशी तुलना करा. तुम्ही `का` स्पष्ट करत आहात, `कसे` नाही. ✅ काही मिनिटे GitHub वर फिरा. तुम्हाला एक खूपच चांगला commit संदेश सापडतो का? तुम्हाला एक खूपच साधा सापडतो का? commit संदेशामध्ये कोणती माहिती सर्वात महत्त्वाची आणि उपयुक्त वाटते? ## इतरांसोबत काम करणे (मजेदार भाग!) तुमची टोपी धरून ठेवा कारण GitHub येथे पूर्णपणे जादुई बनते! 🪄 तुम्ही तुमचा स्वतःचा कोड व्यवस्थापित करणे शिकला आहात, पण आता आम्ही माझा सर्वात आवडता भाग शिकणार आहोत – जगभरातील आश्चर्यकारक लोकांसोबत सहयोग करणे. कल्पना करा: तुम्ही उद्या उठता आणि पाहता की टोकियोमधील कोणीतरी तुमचा कोड सुधारला आहे. मग बर्लिनमधील कोणीतरी तुम्ही अडकलात त्या बगला दुरुस्त करतो. दुपारपर्यंत, साओ पाउलोमधील एक डेव्हलपर तुम्ही कधी विचारही केला नाही असा फिचर जोडतो. हे विज्ञान कल्पनारम्य नाही – हे फक्त GitHub विश्वातील एक सामान्य मंगळवार आहे! मला खरोखरच उत्साहित करणारी गोष्ट म्हणजे तुम्ही शिकत असलेल्या सहयोग कौशल्य? ही EXACT तीच वर्कफ्लो आहेत जी Google, Microsoft आणि तुमच्या आवडत्या स्टार्टअप्समधील टीम्स दररोज वापरतात. तुम्ही फक्त एक छान टूल शिकत नाही आहात – तुम्ही संपूर्ण सॉफ्टवेअर जगाला एकत्र काम करण्यास सक्षम करणारी गुप्त भाषा शिकत आहात. खरंच, जेव्हा तुम्हाला तुमचा पहिला pull request merge होण्याचा आनंद मिळतो, तेव्हा तुम्हाला समजेल की डेव्हलपर्स ओपन सोर्सबद्दल इतके उत्साही का होतात. हे जगातील सर्वात मोठ्या, सर्वात सर्जनशील टीम प्रोजेक्टचा भाग असल्यासारखे आहे! > व्हिडिओ पहा > > [![Git आणि GitHub मूलभूत गोष्टी व्हिडिओ](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8) GitHub वर गोष्टी ठेवण्याचे मुख्य कारण म्हणजे इतर डेव्हलपर्ससोबत सहयोग करणे शक्य करणे. ```mermaid flowchart LR A[🔍 प्रकल्प शोधा] --> B[🍴 रेपॉझिटरी फोर्क करा] B --> C[📥 स्थानिकावर क्लोन करा] C --> D[🌿 शाखा तयार करा] D --> E[✏️ बदल करा] E --> F[💾 बदल कमिट करा] F --> G[📤 शाखा पुश करा] G --> H[🔄 पुल विनंती तयार करा] H --> I{रखवालदार पुनरावलोकन} I -->|✅ मंजूर| J[🎉 विलीन करा!] I -->|❓ बदलांची विनंती| K[📝 अद्यतने करा] K --> F J --> L[🧹 शाखा साफ करा] style A fill:#e3f2fd style J fill:#e8f5e8 style L fill:#fff3e0 ``` तुमच्या रेपॉझिटरीमध्ये, `Insights > Community` वर जा आणि तुमचा प्रोजेक्ट शिफारस केलेल्या समुदाय मानकांशी कसा तुलना करतो ते पहा. तुमची रेपॉझिटरी व्यावसायिक आणि स्वागतार्ह दिसण्यासाठी तयार करायची आहे का? तुमच्या रेपॉझिटरीवर जा आणि `Insights > Community` वर क्लिक करा. ही छान फीचर तुम्हाला दाखवते की तुमचा प्रोजेक्ट GitHub समुदाय "चांगल्या रेपॉझिटरी पद्धती" मानतो त्याच्याशी कसा तुलना करतो. > 🎯 **तुमचा प्रोजेक्ट चमकदार बनवणे**: चांगल्या दस्तऐवजीकरणासह व्यवस्थित रेपॉझिटरी म्हणजे स्वच्छ, स्वागतार्ह स्टोअरफ्रंट असण्यासारखे आहे. हे लोकांना तुमच्या कामाची काळजी आहे असे सांगते आणि इतरांना योगदान देण्याची इच्छा निर्माण करते! **एक रेपॉझिटरी उत्कृष्ट बनवते:** | काय जोडायचे | का महत्त्वाचे आहे | तुमच्यासाठी काय करते | |-------------|-------------------|---------------------| | **Description** | पहिली छाप महत्त्वाची आहे! | लोकांना त्वरित तुमचा प्रोजेक्ट काय करतो ते समजते | | **README** | तुमच्या प्रोजेक्टचे मुख्य पृष्ठ | नवीन अभ्यागतांसाठी एक मैत्रीपूर्ण मार्गदर्शक | | **Contributing Guidelines** | तुम्ही मदत स्वागत करता हे दाखवते | लोकांना अचूकपणे कसे मदत करता येईल ते समजते | | **Code of Conduct** | मैत्रीपूर्ण जागा तयार करते | प्रत्येकजण सहभागी होण्यासाठी स्वागतार्ह वाटतो | | **License** | कायदेशीर स्पष्टता | इतरांना तुमचा कोड कसा वापरायचा आहे ते समजते | | **Security Policy** | तुम्ही जबाबदार आहात हे दाखवते | व्यावसायिक पद्धती दर्शवते | > 💡 **प्रो टिप**: GitHub या सर्व फाइल्ससाठी टेम्पलेट्स प्रदान करते. नवीन रेपॉझिटरी तयार करताना, या फाइल्स स्वयंचलितपणे तयार करण्यासाठी बॉक्स तपासा. **आधुनिक GitHub फीचर्स एक्सप्लोर करा:** 🤖 **ऑटोमेशन & CI/CD:** - **GitHub Actions** स्वयंचलित चाचणी आणि डिप्लॉयमेंटसाठी - **Dependabot** स्वयंचलित dependency अपडेटसाठी 💬 **समुदाय & प्रोजेक्ट व्यवस्थापन:** - **GitHub Discussions** समस्यांपलीकडे समुदाय संभाषणांसाठी - **GitHub Projects** kanban-शैली प्रोजेक्ट व्यवस्थापनासाठी - **Branch protection rules** कोड गुणवत्ता मानक लागू करण्यासाठी हे सर्व संसाधने नवीन टीम सदस्यांना onboard करण्यासाठी फायदेशीर ठरतील. आणि हे सहसा नवीन योगदानकर्ते तुमचा कोड पाहण्याआधी पाहतात, हे शोधण्यासाठी की तुमचा प्रोजेक्ट त्यांचा वेळ खर्च करण्यासाठी योग्य जागा आहे का. ✅ README फाइल्स, जरी तयार करण्यासाठी वेळ लागतो, तरी व्यस्त मेंटेनर्सकडून अनेकदा दुर्लक्षित केल्या जातात. तुम्हाला विशेषतः वर्णनात्मक README सापडते का? लक्षात ठेवा: [चांगल्या README तयार करण्यासाठी टूल्स](https://www.makeareadme.com/) आहेत ज्याचा तुम्हाला प्रयत्न करायचा असेल. ### कार्य: काही कोड merge करा Contributing दस्तऐवज लोकांना प्रोजेक्टमध्ये योगदान देण्यास मदत करतात. हे स्पष्ट करते की तुम्ही कोणत्या प्रकारचे योगदान शोधत आहात आणि प्रक्रिया कशी कार्य करते. योगदानकर्त्यांना GitHub वर तुमच्या रेपॉझिटरीमध्ये योगदान देण्यासाठी काही चरणांमधून जावे लागेल: 1. **तुमच्या रेपॉझिटरीला fork करणे** तुम्हाला कदाचित लोकांना तुमचा प्रोजेक्ट _fork_ करायला सांगायचे असेल. Forking म्हणजे त्यांच्या GitHub प्रोफाइलवर तुमच्या रेपॉझिटरीची प्रत तयार करणे. 1. **Clone**. त्यानंतर ते प्रोजेक्ट त्यांच्या स्थानिक मशीनवर clone करतील. 1. **शाखा तयार करा**. तुम्हाला त्यांना त्यांच्या कामासाठी _शाखा_ तयार करायला सांगायचे आहे. 1. **त्यांचा बदल एका क्षेत्रावर केंद्रित करा**. योगदानकर्त्यांना एकावेळी एका गोष्टीवर त्यांचे योगदान केंद्रित करण्यास सांगा - त्यामुळे तुम्ही त्यांचे काम _merge_ करण्याची शक्यता जास्त आहे. कल्पना करा त्यांनी बग फिक्स लिहिला, नवीन फिचर जोडले आणि अनेक चाचण्या अपडेट केल्या - काय जर तुम्हाला 3 पैकी 2 किंवा 1 बदल लागू करायचे असतील? ✅ अशा परिस्थितीची कल्पना करा जिथे शाखा चांगला कोड लिहिण्यासाठी आणि शिप करण्यासाठी विशेषतः महत्त्वाच्या आहेत. तुम्ही कोणते उपयोग प्रकरणे विचार करू शकता? > लक्षात ठेवा, तुम्ही जगात पाहू इच्छित बदल व्हा आणि तुमच्या स्वतःच्या कामासाठी शाखा तयार करा. तुम्ही केलेले कोणतेही commits तुम्ही सध्या "चेक आउट" केलेल्या शाखेवर केले जातील. `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" ``` > ⚠️ **Commit संदेश गुणवत्ता**: तुमच्या commit ला चांगले नाव द्या, तुमच्यासाठी आणि तुम्ही मदत करत असलेल्या रेपॉझिटरीच्या मेंटेनर साठी. तुम्ही काय बदलले याबद्दल विशिष्ट रहा! 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 ``` हे तुमच्या commits नवीनतम main शाखेवर पुन्हा प्ले करते, एक रेखीय इतिहास तयार करते. 1. **तुमचे काम GitHub वर पाठवा**. तुमचे काम GitHub वर पाठवणे म्हणजे दोन गोष्टी. तुमची शाखा तुमच्या रेपॉझिटरीवर पुश करणे आणि नंतर PR, Pull Request उघडणे. ```bash git push --set-upstream origin [branch-name] ``` वरील कमांड तुमच्या forked रेपॉझिटरीवर शाखा तयार करते. ### 🤝 **सहयोग कौशल्य तपासणी: इतरांसोबत काम करण्यासाठी तयार?** **चला पाहूया की तुम्हाला सहयोगाबद्दल कसे वाटते:** - तुम्हाला fork आणि pull requests ची कल्पना आता समजते का? - शाखांसोबत काम करण्याबद्दल तुम्हाला कोणती गोष्ट अधिक सराव करायची आहे? - तुम्हाला इतरांच्या प्रोजेक्टमध्ये योगदान देण्याबद्दल किती आरामदायक वाटते? ```mermaid mindmap root((Git सहकार्य)) Branching वैशिष्ट्य शाखा बग फिक्स शाखा प्रायोगिक काम Pull Requests कोड पुनरावलोकन चर्चा चाचणी Best Practices स्पष्ट कमिट संदेश लहान लक्ष केंद्रित बदल चांगले दस्तऐवजीकरण ``` > **आत्मविश्वास वाढवणारा**: तुम्ही प्रशंसा करत असलेला प्रत्येक डेव्हलपर त्यांच्या पहिल्या pull request बद्दल कधी तरी चिंतित होता. GitHub समुदाय नवख्या लोकांसाठी खूप स्वागतार्ह आहे! 1. **PR उघडा**. पुढे, तुम्हाला PR उघडायचा आहे. तुम्ही GitHub वर forked रेपॉझिटरीवर नेव्हिगेट करून ते करता. GitHub वर तुम्हाला नवीन PR तयार करायचे आहे का असे विचारणारा संकेत दिसेल, तुम्ही त्यावर क्लिक करता आणि तुम्हाला एक इंटरफेसवर नेले जाते जिथे तुम्ही commit संदेश शीर्षक बदलू शकता, त्याला अधिक योग्य वर्णन देऊ शकता. आता तुम्ही fork केलेल्या रेपॉझिटरीचा मेंटेनर हा PR पाहील आणि _fingers crossed_ ते तुमचा PR appreciate करतील आणि _merge_ करतील. तुम्ही आता योगदानकर्ता आहात, याय :) 💡 **आधुनिक टिप**: तुम्ही GitHub CLI वापरून PR देखील तयार करू शकता: ```bash gh pr create --title "Your PR title" --body "Description of changes" ``` 🔧 **PR साठी सर्वोत्तम पद्धती**: - "Fixes 1. **स्वच्छता करा**. PR यशस्वीपणे मर्ज केल्यानंतर _स्वच्छता_ करणे चांगली सवय मानली जाते. तुम्हाला तुमची स्थानिक शाखा आणि GitHub वर पुश केलेली शाखा दोन्ही साफ करायची आहे. प्रथम, खालील कमांड वापरून ती स्थानिक स्तरावर हटवा: ```bash git branch -d [branch-name] ``` नंतर, फॉर्क केलेल्या रेपोच्या GitHub पृष्ठावर जा आणि तुम्ही नुकतीच पुश केलेली रिमोट शाखा हटवा. `Pull request` हा शब्द थोडा विचित्र वाटतो कारण प्रत्यक्षात तुम्हाला तुमचे बदल प्रोजेक्टमध्ये पुश करायचे असतात. परंतु प्रोजेक्टचा मालक किंवा कोर टीमला तुमचे बदल प्रोजेक्टच्या "main" शाखेत मर्ज करण्यापूर्वी विचार करणे आवश्यक आहे, त्यामुळे तुम्ही प्रत्यक्षात मालकाकडून बदलाचा निर्णय मागत आहात. Pull request ही शाखेत केलेल्या बदलांची तुलना आणि चर्चा करण्यासाठी जागा आहे, ज्यामध्ये पुनरावलोकने, टिप्पण्या, एकत्रित चाचण्या आणि बरेच काही समाविष्ट आहे. चांगला pull request साधारणपणे commit message सारखेच नियम पाळतो. जर तुमचे काम एखाद्या समस्येचे निराकरण करत असेल तर तुम्ही issue tracker मध्ये एखाद्या समस्येचा संदर्भ जोडू शकता. हे `#` आणि तुमच्या समस्येच्या क्रमांकासह केले जाते. उदाहरणार्थ `#97`. 🤞बोटे क्रॉस करा की सर्व चाचण्या पास होतील आणि प्रोजेक्ट मालक तुमचे बदल प्रोजेक्टमध्ये मर्ज करतील🤞 तुमच्या स्थानिक कार्यरत शाखेत GitHub वरील संबंधित रिमोट शाखेतील सर्व नवीन commits अपडेट करा: `git pull` ## ओपन सोर्समध्ये योगदान देणे (तुमची प्रभाव टाकण्याची संधी!) तुमच्या मनाला पूर्णपणे झपाटून टाकणाऱ्या गोष्टीसाठी तुम्ही तयार आहात का? 🤯 चला ओपन सोर्स प्रोजेक्ट्समध्ये योगदान देण्याबद्दल बोलूया – आणि हे तुमच्यासोबत शेअर करताना मला खूप उत्साह वाटतो! ही तुमची काहीतरी विलक्षण गोष्टीचा भाग होण्याची संधी आहे. कल्पना करा की तुम्ही दररोज लाखो डेव्हलपर्स वापरत असलेल्या टूल्समध्ये सुधारणा करत आहात किंवा तुमच्या मित्रांना आवडणाऱ्या अॅपमधील बग दुरुस्त करत आहात. हे फक्त स्वप्न नाही – हेच ओपन सोर्स योगदान आहे! मला प्रत्येक वेळी याचा विचार करताना रोमांच का येतो: तुम्ही शिकत असलेल्या प्रत्येक टूल – तुमचा कोड एडिटर, आपण एक्सप्लोर करणार असलेले फ्रेमवर्क, अगदी तुम्ही वाचत असलेला ब्राउझर – हे सर्व एखाद्या व्यक्तीने त्यांच्या पहिल्या योगदानासह सुरू केले. तुमच्या आवडत्या VS Code एक्सटेंशनचा तो प्रतिभावान डेव्हलपर? ते एकदा नवशिके होते ज्यांनी "create pull request" क्लिक केले होते, अगदी तुम्ही आता करणार आहात तसे. आणि सर्वात सुंदर भाग म्हणजे: ओपन सोर्स समुदाय म्हणजे इंटरनेटचा सर्वात मोठा गट आलिंगन आहे. बहुतेक प्रोजेक्ट्स नवशिक्यांसाठी सक्रियपणे शोध घेतात आणि "good first issue" टॅग असलेल्या समस्या विशेषतः तुमच्यासारख्या लोकांसाठी असतात! मालकांना नवीन योगदानकर्ते दिसले की खरोखर आनंद होतो कारण त्यांना स्वतःचे पहिले पाऊल आठवते. ```mermaid flowchart TD A[🔍 GitHub एक्सप्लोर करा] --> B[🏷️ "चांगला पहिला मुद्दा" शोधा] B --> C[📖 योगदान मार्गदर्शक वाचा] C --> D[🍴 रेपॉझिटरी फोर्क करा] D --> E[💻 स्थानिक वातावरण सेट करा] E --> F[🌿 फीचर ब्रँच तयार करा] F --> G[✨ आपले योगदान करा] G --> H[🧪 आपले बदल तपासा] H --> I[📝 स्पष्ट कमिट लिहा] I --> J[📤 पुश करा आणि PR तयार करा] J --> K[💬 अभिप्रायासह संवाद साधा] K --> L[🎉 विलीन झाले! आपण योगदानकर्ता आहात!] L --> M[🌟 पुढील मुद्दा शोधा] style A fill:#e1f5fe style L fill:#c8e6c9 style M fill:#fff59d ``` तुम्ही येथे कोड शिकत नाही आहात – तुम्ही बिल्डर्सच्या जागतिक कुटुंबाचा भाग होण्यासाठी तयार होत आहात जे दररोज उठून विचार करतात "डिजिटल जग थोडेसे चांगले कसे बनवता येईल?" क्लबमध्ये स्वागत आहे! 🌟 प्रथम, 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.mr.png) कोड कॉपी करण्याचे अनेक मार्ग आहेत. एक मार्ग म्हणजे रेपॉजिटरीची सामग्री "क्लोन" करणे, HTTPS, SSH किंवा GitHub CLI (कमांड लाइन इंटरफेस) वापरून. तुमचा टर्मिनल उघडा आणि रेपॉजिटरी क्लोन करा: ```bash # HTTPS वापरणे git clone https://github.com/ProjectURL # SSH वापरणे (SSH की सेटअप आवश्यक आहे) git clone git@github.com:username/repository.git # 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** - योगदानकर्ते, commits आणि प्रोजेक्टच्या आरोग्याबद्दल विश्लेषण - **Projects tab** - GitHub चे अंगभूत प्रोजेक्ट व्यवस्थापन साधने ✅ तुमच्या नवीन GitHub रेपोभोवती एक नजर टाका आणि काही गोष्टी करून पहा, जसे की सेटिंग्ज संपादित करणे, तुमच्या रेपोमध्ये माहिती जोडणे, प्रोजेक्ट तयार करणे (जसे की Kanban बोर्ड), आणि GitHub Actions स्वयंचलिततेसाठी सेट करणे. तुम्ही बरेच काही करू शकता! --- ## 🚀 आव्हान ठीक आहे, तुमच्या नवीन GitHub सुपरपॉवर्सची चाचणी घेण्याची वेळ आली आहे! 🚀 येथे एक आव्हान आहे जे सर्वकाही सर्वात समाधानकारक मार्गाने स्पष्ट करेल: एखाद्या मित्राला (किंवा त्या कुटुंबातील सदस्याला जो नेहमी विचारतो की तुम्ही या "कॉम्प्युटर गोष्टी"सह काय करत आहात) पकडा आणि एकत्रित कोडिंग साहसावर जा! येथे खरी जादू घडते – एक प्रोजेक्ट तयार करा, त्यांना ते fork करू द्या, काही शाखा तयार करा आणि तुम्ही प्रोफेशनल्ससारखे बदल मर्ज करा. मी खोटे बोलणार नाही – तुम्ही कदाचित एखाद्या वेळी हसाल (विशेषतः जेव्हा तुम्ही दोघे एकाच ओळीत बदल करण्याचा प्रयत्न करता), कदाचित गोंधळात डोके खाजवता, परंतु तुम्हाला नक्कीच ते अद्भुत "आह!" क्षण मिळतील जे सर्व शिक्षणाचे मूल्य सिद्ध करतात. शिवाय, एखाद्या दुसऱ्या व्यक्तीसोबत पहिला यशस्वी मर्ज शेअर करण्यामध्ये काहीतरी खास आहे – हे तुम्ही किती पुढे आला आहात याचा छोटासा उत्सव आहे! तुमच्याकडे अजून कोडिंग साथीदार नाही? काही हरकत नाही! 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) - [Merge conflicts व्यवस्थापित करणे](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 Challenge 🚀 Agent मोड वापरून खालील आव्हान पूर्ण करा: **वर्णन:** तुम्ही या धड्यात शिकलेल्या संपूर्ण GitHub वर्कफ्लोचे प्रदर्शन करणारा सहयोगी वेब डेव्हलपमेंट प्रोजेक्ट तयार करा. हे आव्हान तुम्हाला रेपॉजिटरी तयार करणे, सहयोगी वैशिष्ट्ये आणि आधुनिक Git वर्कफ्लो वास्तविक-जगातील परिस्थितीत सराव करण्यास मदत करेल. **प्रॉम्प्ट:** "Web Development Resources" प्रोजेक्टसाठी एक नवीन सार्वजनिक GitHub रेपॉजिटरी तयार करा. रेपॉजिटरीमध्ये HTML, CSS, JavaScript इत्यादी श्रेणींनुसार उपयुक्त वेब डेव्हलपमेंट टूल्स आणि संसाधने सूचीबद्ध करणारी चांगल्या प्रकारे संरचित README.md फाइल समाविष्ट असावी. रेपॉजिटरीला योग्य समुदाय मानकांसह सेट करा ज्यामध्ये परवाना, योगदान मार्गदर्शक तत्त्वे आणि आचारसंहिता समाविष्ट आहे. CSS संसाधने जोडण्यासाठी एक शाखा आणि JavaScript संसाधने जोडण्यासाठी दुसरी शाखा तयार करा. प्रत्येक शाखेत वर्णनात्मक commit messages सह commits करा, नंतर बदल मुख्य शाखेत मर्ज करण्यासाठी 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 एक्सप्लोर करा आणि हा रेपॉजिटरी क्लाउड-आधारित एडिटरमध्ये उघडा --- ## 🚀 तुमची GitHub मास्टरी टाइमलाइन ### ⚡ **पुढील 5 मिनिटांत तुम्ही काय करू शकता** - [ ] या रेपॉजिटरीला आणि तुमच्यासाठी रुचिकर असलेल्या 3 अन्य प्रोजेक्ट्सना स्टार करा - [ ] तुमच्या GitHub खात्यावर दोन-फॅक्टर प्रमाणीकरण सेट करा - [ ] तुमच्या पहिल्या रेपॉजिटरीसाठी एक साधा README तयार करा - [ ] तुम्हाला प्रेरणा देणाऱ्या 5 डेव्हलपर्सना फॉलो करा ### 🎯 **तुम्ही या तासात काय साध्य करू शकता** - [ ] पोस्ट-लेक्चर क्विझ पूर्ण करा आणि तुमच्या GitHub प्रवासाचा विचार करा - [ ] GitHub प्रमाणीकरणासाठी SSH की सेट करा - [ ] एक उत्कृष्ट commit message सह तुमचा पहिला अर्थपूर्ण commit तयार करा - [ ] GitHub च्या "Explore" टॅबमध्ये ट्रेंडिंग प्रोजेक्ट्स शोधा - [ ] रेपॉजिटरी fork करून एक छोटा बदल करण्याचा सराव करा ### 📅 **तुमचा आठवडाभराचा GitHub साहस** - [ ] GitHub Skills कोर्सेस पूर्ण करा (GitHub ची ओळख, Markdown) - [ ] ओपन सोर्स प्रोजेक्टमध्ये तुमचा पहिला pull request करा - [ ] तुमचे काम दाखवण्यासाठी GitHub Pages साइट सेट करा - [ ] तुम्हाला आवडणाऱ्या प्रोजेक्ट्सवर GitHub Discussions मध्ये सामील व्हा - [ ] योग्य समुदाय मानकांसह रेपॉजिटरी तयार करा (README, License, इ.) - [ ] क्लाउड-आधारित डेव्हलपमेंटसाठी GitHub Codespaces वापरून पहा ### 🌟 **तुमचा महिनाभराचा बदल** - [ ] 3 वेगवेगळ्या ओपन सोर्स प्रोजेक्ट्समध्ये योगदान द्या - [ ] GitHub वर नवीन व्यक्तीला मार्गदर्शन करा (पुढे जा!) - [ ] GitHub Actions सह स्वयंचलित वर्कफ्लो सेट करा - [ ] तुमच्या GitHub योगदानांचे प्रदर्शन करणारे पोर्टफोलिओ तयार करा - [ ] Hacktoberfest किंवा तत्सम समुदाय कार्यक्रमांमध्ये सहभागी व्हा - [ ] इतर लोक योगदान देत असलेल्या तुमच्या स्वतःच्या प्रोजेक्टचे मालक बना ### 🎓 **GitHub मास्टरी अंतिम तपासणी** **तुम्ही किती पुढे आला आहात याचा उत्सव करा:** - GitHub वापरण्याबद्दल तुम्हाला सर्वात आवडते काय? - तुम्हाला सर्वात रोमांचक वाटणारे सहयोगी वैशिष्ट्य कोणते आहे? - ओपन सोर्समध्ये योगदान देण्याबद्दल तुम्हाला किती आत्मविश्वास वाटतो? - तुम्हाला योगदान द्यायचे असलेले पहिले प्रोजेक्ट कोणते आहे? ```mermaid journey title तुमचा GitHub आत्मविश्वास प्रवास section आज घाबरलेले: 3: तुम्ही उत्सुक: 4: तुम्ही उत्साहित: 5: तुम्ही section या आठवड्यात सराव करत आहे: 4: तुम्ही योगदान देत आहे: 5: तुम्ही जोडत आहे: 5: तुम्ही section पुढील महिना सहकार्य करत आहे: 5: तुम्ही नेतृत्व करत आहे: 5: तुम्ही इतरांना प्रेरित करत आहे: 5: तुम्ही ``` > 🌍 **जागतिक डेव्हलपर समुदायात स्वागत आहे!** तुम्हाला आता जगभरातील लाखो डेव्हलपर्ससोबत सहयोग करण्याची साधने आहेत. तुमचे पहिले --- **अस्वीकरण**: हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपयास लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून निर्माण झालेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.