36 KiB
GitHub परिचय
या धड्यात GitHub च्या मूलभूत गोष्टींचा आढावा घेतला आहे, जो तुमचा कोड होस्ट आणि व्यवस्थापित करण्यासाठी एक प्लॅटफॉर्म आहे.
स्केच नोट Tomomi Imura यांनी तयार केले आहे
पूर्व-व्याख्यान प्रश्नमंजुषा
परिचय
या धड्यात आपण शिकणार आहोत:
- तुमच्या मशीनवर केलेल्या कामाचा मागोवा कसा ठेवायचा
- इतरांसोबत प्रकल्पांवर काम कसे करायचे
- ओपन सोर्स सॉफ्टवेअरमध्ये योगदान कसे द्यायचे
पूर्वतयारी
सुरुवात करण्यापूर्वी, Git स्थापित आहे का ते तपासा. टर्मिनलमध्ये टाइप करा:
git --version
जर Git स्थापित नसेल, तर Git डाउनलोड करा. त्यानंतर, तुमच्या स्थानिक Git प्रोफाइलची टर्मिनलमध्ये सेटअप करा:
git config --global user.name "तुमचे-नाव"git config --global user.email "तुमचा-ईमेल"
Git आधीच कॉन्फिगर केले आहे का ते तपासण्यासाठी तुम्ही टाइप करू शकता:
git config --list
तुमच्याकडे GitHub खाते, कोड एडिटर (उदा. Visual Studio Code), आणि टर्मिनल (किंवा: कमांड प्रॉम्प्ट) उघडलेले असणे आवश्यक आहे.
github.com वर जा आणि खाते तयार करा (जर तुम्ही आधीच केले नसेल), किंवा लॉग इन करा आणि तुमचे प्रोफाइल भरा.
✅ GitHub हा जगातील एकमेव कोड रिपॉझिटरी नाही; इतरही आहेत, पण GitHub सर्वात प्रसिद्ध आहे.
तयारी
तुमच्या स्थानिक मशीनवर (लॅपटॉप किंवा पीसी) कोड प्रकल्प असलेला फोल्डर आणि GitHub वर सार्वजनिक रिपॉझिटरी आवश्यक आहे, जे इतरांच्या प्रकल्पांमध्ये योगदान कसे द्यायचे याचे उदाहरण म्हणून काम करेल.
कोड व्यवस्थापन
समजा तुमच्याकडे स्थानिक स्तरावर कोड प्रकल्प असलेला फोल्डर आहे आणि तुम्हाला git वापरून तुमच्या प्रगतीचा मागोवा सुरू करायचा आहे - जो एक व्हर्जन कंट्रोल सिस्टम आहे. काही लोक git वापरण्याची तुलना भविष्यातील स्वतःसाठी प्रेमपत्र लिहिण्याशी करतात. तुमचे "commit messages" वाचून तुम्हाला काही दिवस, आठवडे किंवा महिने नंतर का निर्णय घेतला हे आठवेल, किंवा बदल "rollback" करता येईल - अर्थात, तुम्ही चांगले "commit messages" लिहिल्यास.
कार्य: रिपॉझिटरी तयार करा आणि कोड commit करा
व्हिडिओ पहा
-
GitHub वर रिपॉझिटरी तयार करा. GitHub.com वर, रिपॉझिटरी टॅबमध्ये, किंवा वरच्या उजव्या नेव्हिगेशन बारमधून, नवीन रिपॉझिटरी बटण शोधा.
- तुमच्या रिपॉझिटरीला (फोल्डर) नाव द्या.
- रिपॉझिटरी तयार करा निवडा.
-
तुमच्या कार्यरत फोल्डरमध्ये जा. टर्मिनलमध्ये, तुम्ही ट्रॅक करायचे असलेले फोल्डर (डायरेक्टरी म्हणूनही ओळखले जाते) निवडा. टाइप करा:
cd [name of your folder] -
git रिपॉझिटरी प्रारंभ करा. तुमच्या प्रकल्पात टाइप करा:
git init -
स्थिती तपासा. तुमच्या रिपॉझिटरीची स्थिती तपासण्यासाठी टाइप करा:
git statusआउटपुट असे दिसू शकते:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: file.txt modified: file2.txtसामान्यतः
git statusकमांड तुम्हाला अशा गोष्टी सांगते जसे की कोणती फाइल्स संचयित करण्यासाठी तयार आहेत किंवा त्यावर बदल आहेत जे तुम्हाला कायम ठेवायचे असतील. -
सर्व फाइल्स ट्रॅकिंगसाठी जोडा
याला फाइल्स स्टेजिंग/स्टेजिंग एरिया मध्ये फाइल्स जोडणे असेही म्हणतात.git add .git addआणि.याचा अर्थ सर्व फाइल्स आणि बदल ट्रॅकिंगसाठी आहेत. -
निवडलेल्या फाइल्स ट्रॅकिंगसाठी जोडा
git add [file or folder name]हे आपल्याला एकाच वेळी सर्व फाइल्स commit न करता निवडलेल्या फाइल्स स्टेजिंग एरियामध्ये जोडण्यास मदत करते.
-
सर्व फाइल्स अनस्टेज करा
git resetही कमांड आपल्याला एकाच वेळी सर्व फाइल्स अनस्टेज करण्यास मदत करते.
-
विशिष्ट फाइल अनस्टेज करा
git reset [file or folder name]ही कमांड आपल्याला एकाच वेळी फक्त विशिष्ट फाइल अनस्टेज करण्यास मदत करते जी आपण पुढील commit मध्ये समाविष्ट करू इच्छित नाही.
-
तुमचे काम कायम ठेवा. या टप्प्यावर तुम्ही फाइल्स स्टेजिंग एरिया मध्ये जोडल्या आहेत. Git तुमच्या फाइल्स ट्रॅक करत आहे. बदल कायम ठेवण्यासाठी तुम्हाला फाइल्स commit कराव्या लागतील. commit म्हणजे तुमच्या रिपॉझिटरीच्या इतिहासातील एक सेव्हिंग पॉइंट. commit तयार करण्यासाठी टाइप करा:
git commit -m "first commit"हे तुमच्या सर्व फाइल्स commit करते, "first commit" संदेश जोडते. भविष्यातील commit messages साठी तुम्हाला अधिक वर्णनात्मक संदेश लिहायचे असतील जे तुम्ही केलेल्या बदलाचा प्रकार स्पष्ट करतात.
-
तुमच्या स्थानिक Git रिपॉझिटरीला GitHub शी कनेक्ट करा. Git रिपॉझिटरी तुमच्या मशीनवर चांगली आहे, पण एका टप्प्यावर तुम्हाला तुमच्या फाइल्सचे बॅकअप कुठेतरी ठेवायचे आहे आणि इतर लोकांना तुमच्या रिपॉझिटरीवर काम करण्यासाठी आमंत्रित करायचे आहे. GitHub हे करण्यासाठी एक उत्तम ठिकाण आहे. लक्षात ठेवा आपण आधीच GitHub वर रिपॉझिटरी तयार केली आहे त्यामुळे आपल्याला फक्त स्थानिक Git रिपॉझिटरी GitHub शी कनेक्ट करायची आहे.
git remote addकमांड हे काम करेल. खालील कमांड टाइप करा:लक्षात ठेवा, कमांड टाइप करण्यापूर्वी तुमच्या GitHub रिपॉझिटरी पेजवर जा आणि रिपॉझिटरी URL शोधा. तुम्ही ते खालील कमांडमध्ये वापराल.
https://github.com/username/repository_name.gitला तुमच्या GitHub URL ने बदला.git remote add origin https://github.com/username/repository_name.gitहे "origin" नावाचा remote किंवा कनेक्शन तयार करते जो तुम्ही आधी तयार केलेल्या GitHub रिपॉझिटरीकडे निर्देशित करतो.
-
स्थानिक फाइल्स GitHub वर पाठवा. आतापर्यंत तुम्ही स्थानिक रिपॉझिटरी आणि GitHub रिपॉझिटरीमध्ये कनेक्शन तयार केले आहे. आता या फाइल्स GitHub वर पाठवण्यासाठी
git pushकमांड वापरा, असे:लक्षात ठेवा, तुमच्या शाखेचे नाव
mainपासून वेगळे असू शकते.git push -u origin mainहे तुमच्या "main" शाखेतील commits GitHub वर पाठवते.
-
अधिक बदल जोडण्यासाठी. जर तुम्हाला बदल करत राहायचे असतील आणि ते GitHub वर पुश करायचे असतील तर तुम्हाला फक्त खालील तीन कमांड वापराव्या लागतील:
git add . git commit -m "type your commit message here" git pushटीप, तुम्हाला
.gitignoreफाइल स्वीकारायची असेल जी तुम्हाला GitHub वर ट्रॅक करू इच्छित नसलेल्या फाइल्स प्रतिबंधित करण्यास मदत करते - जसे की नोट्स फाइल जी तुम्ही त्याच फोल्डरमध्ये ठेवता पण सार्वजनिक रिपॉझिटरीमध्ये तिचे स्थान नाही. तुम्ही.gitignoreफाइल्ससाठी टेम्पलेट्स .gitignore templates येथे शोधू शकता.
Commit messages
एक उत्कृष्ट Git commit विषय ओळ खालील वाक्य पूर्ण करते:
जर लागू केले, तर हा commit <तुमचा विषय येथे> करेल.
विषयासाठी, आज्ञार्थक, वर्तमानकाळाचा वापर करा: "change" न की "changed" किंवा "changes".
विषयात जसे, शरीरात (पर्यायी) देखील आज्ञार्थक, वर्तमानकाळाचा वापर करा. शरीरात बदलासाठी प्रेरणा समाविष्ट करावी आणि यापूर्वीच्या वर्तनाशी तुलना करावी. तुम्ही का स्पष्ट करत आहात, कसे नाही.
✅ GitHub वर थोडा वेळ घालवा. तुम्हाला खरोखर उत्कृष्ट commit message सापडते का? तुम्हाला खूपच साधा commit message सापडतो का? commit message मध्ये कोणती माहिती सर्वात महत्त्वाची आणि उपयुक्त वाटते?
कार्य: सहकार्य करा
GitHub वर गोष्टी ठेवण्याचे मुख्य कारण म्हणजे इतर विकसकांसोबत सहकार्य करणे शक्य करणे.
इतरांसोबत प्रकल्पांवर काम करणे
व्हिडिओ पहा
तुमच्या रिपॉझिटरीमध्ये, Insights > Community वर जा आणि तुमचा प्रकल्प शिफारस केलेल्या समुदाय मानकांशी कसा तुलना करतो ते पहा.
GitHub रिपॉझिटरी सुधारण्यासाठी काही गोष्टी येथे आहेत:
- वर्णन. तुमच्या प्रकल्पासाठी वर्णन जोडले आहे का?
- README. तुम्ही README जोडले आहे का? GitHub README लिहिण्यासाठी मार्गदर्शन प्रदान करते.
- योगदान मार्गदर्शक. तुमच्या प्रकल्पात योगदान मार्गदर्शक आहेत का?
- आचारसंहिता. आचारसंहिता आहे का?
- परवाना. कदाचित सर्वात महत्त्वाचे, परवाना आहे का?
हे सर्व संसाधने नवीन टीम सदस्यांना ऑनबोर्डिंगसाठी फायदेशीर ठरतील. आणि हीच ती गोष्टी आहेत ज्यावर नवीन योगदानकर्ते तुमचा कोड पाहण्याआधी लक्ष केंद्रित करतात, हे शोधण्यासाठी की तुमचा प्रकल्प त्यांचा वेळ खर्च करण्यासाठी योग्य ठिकाण आहे का.
✅ README फाइल्स, जरी तयार करण्यासाठी वेळ लागतो, तरी व्यस्त देखरेख करणाऱ्यांकडून दुर्लक्षित केल्या जातात. तुम्हाला विशेषतः वर्णनात्मक README फाइलचा उदाहरण सापडतो का? टीप: चांगले README तयार करण्यासाठी काही साधने आहेत जी तुम्हाला वापरायला आवडतील.
कार्य: काही कोड मर्ज करा
योगदान दस्तऐवज लोकांना प्रकल्पात योगदान देण्यास मदत करतात. यात तुम्ही कोणत्या प्रकारचे योगदान शोधत आहात आणि प्रक्रिया कशी कार्य करते याचे स्पष्टीकरण दिले जाते. योगदानकर्त्यांना GitHub वर तुमच्या रिपॉझिटरीमध्ये योगदान देण्यासाठी काही चरणांमधून जावे लागेल:
- तुमची रिपॉझिटरी फोर्क करणे. तुम्हाला कदाचित लोकांना तुमचा प्रकल्प fork करायला सांगायचे असेल. फोर्क करणे म्हणजे त्यांच्या GitHub प्रोफाइलवर तुमच्या रिपॉझिटरीची प्रत तयार करणे.
- क्लोन. त्यानंतर ते प्रकल्प त्यांच्या स्थानिक मशीनवर क्लोन करतील.
- शाखा तयार करा. तुम्ही त्यांना त्यांच्या कामासाठी शाखा तयार करण्यास सांगाल.
- त्यांचा बदल एका क्षेत्रावर केंद्रित करा. योगदानकर्त्यांना एकावेळी एका गोष्टीवर लक्ष केंद्रित करण्यास सांगा - अशा प्रकारे त्यांचे काम मर्ज होण्याची शक्यता जास्त आहे. कल्पना करा त्यांनी बग फिक्स लिहिला, नवीन वैशिष्ट्य जोडले आणि अनेक चाचण्या अपडेट केल्या - काय असेल जर तुम्हाला 3 पैकी 2 किंवा 3 पैकी 1 बदल लागू करायचा असेल?
✅ अशा परिस्थितीची कल्पना करा जिथे शाखा चांगला कोड लिहिण्यासाठी आणि वितरित करण्यासाठी विशेषतः महत्त्वपूर्ण आहेत. तुम्ही कोणते उपयोग प्रकरणे विचार करू शकता?
टीप, तुम्ही जगात पाहू इच्छित असलेला बदल व्हा आणि तुमच्या स्वतःच्या कामासाठी शाखा तयार करा. तुम्ही केलेले कोणतेही commits तुम्ही सध्या "चेक आउट" केलेल्या शाखेत केले जातील.
git statusवापरून तुम्ही कोणत्या शाखेत आहात ते पहा.
आम्ही योगदानकर्त्याच्या वर्कफ्लोमधून जाऊया. गृहीत धरा की योगदानकर्त्याने आधीच रिपॉझिटरी fork आणि clone केली आहे त्यामुळे त्यांच्याकडे स्थानिक मशीनवर काम करण्यासाठी Git रिपॉझिटरी तयार आहे:
-
शाखा तयार करा.
git branchकमांड वापरून शाखा तयार करा ज्यामध्ये ते योगदान देण्याचा विचार करत असलेले बदल असतील:git branch [branch-name] -
कार्यरत शाखेत स्विच करा. निर्दिष्ट शाखेत स्विच करा आणि
git switchवापरून कार्यरत निर्देशिका अपडेट करा:git switch [branch-name] -
काम करा. या टप्प्यावर तुम्हाला तुमचे बदल जोडायचे आहेत. खालील कमांड वापरून Git ला त्याबद्दल सांगायला विसरू नका:
git add . git commit -m "my changes"तुमच्या commit ला चांगले नाव द्या, तुमच्यासाठी तसेच तुम्ही मदत करत असलेल्या रिपॉझिटरीच्या देखरेख करणाऱ्यासाठी.
-
तुमचे काम
mainशाखेसोबत एकत्र करा. एका टप्प्यावर तुम्ही काम पूर्ण केले आहे आणि तुम्हाला तुमचे कामmainशाखेसोबत एकत्र करायचे आहे. दरम्यानmainशाखा बदलली असू शकते त्यामुळे खालील कमांड वापरून ती नवीनतम स्थितीत अपडेट करा:git switch main git pullया टप्प्यावर तुम्हाला खात्री करायची आहे की कोणतेही conflicts, जिथे Git सहजपणे combine करू शकत नाही, तुमच्या कार्यरत शाखेत होतात. म्हणून खालील कमांड चालवा:
git switch [branch_name] git merge mainहे
mainमधील सर्व बदल तुमच्या शाखेत आणेल आणि आशा आहे की तुम्ही फक्त पुढे जाऊ शकता. जर तसे नसेल, तर VS Code तुम्हाला सांगेल की Git गोंधळलेला आहे आणि तुम्ही प्रभावित फाइल्स बदलून कोणती सामग्री सर्वात अचूक आहे ते सांगू शकता. -
तुमचे काम GitHub वर पाठवा. GitHub वर तुमचे काम पाठवणे म्हणजे दोन गोष्टी. तुमची शाखा तुमच्या रिपॉझिटरीवर पुश करणे आणि नंतर PR, Pull Request उघडणे.
git push --set-upstream origin [branch-name]वरील कमांड तुमच्या फोर्क केलेल्या रिपॉझिटरीवर शाखा तयार करते.
-
PR उघडा. पुढे, तुम्हाला PR उघडायचा आहे. तुम्ही GitHub वर फोर्क केलेल्या रिपॉझिटरीवर नेव्हिगेट करून ते करू शकता. GitHub वर तुम्हाला नवीन PR तयार करायचा आहे का असे विचारणारा संकेत दिसेल, तुम्ही त्यावर क्लिक करा आणि तुम्हाला commit message शीर्षक बदलण्यासाठी, अधिक योग्य वर्णन देण्यासाठी इंटरफेसवर नेले जाईल. आता तुम्ही फोर्क केलेल्या रिपॉझिटरीचा देखरेख करणारा हा PR पाहील आणि बोटे क्रॉस करून ते तुमचा PR मर्ज करतील. तुम्ही आता योगदानकर्ता आहात, याय :)
-
स्वच्छता करा. PR यशस्वीरित्या मर्ज केल्यानंतर स्वच्छता करणे चांगली पद्धत मानली जाते. तुम्हाला तुमची स्थानिक शाखा आणि तुम्ही GitHub वर पुश केलेली शाखा साफ करायची आहे. प्रथम खालील कमांड वापरून ती स्थानिक स्तरावर हटवा:
git branch -d [branch-name]पुढे, फोर्क केलेल्या रिपॉझिटरीसाठी GitHub पेजवर जा आणि तुम्ही त्यावर पुश केलेली रिमोट शाखा हटवा.
Pull requestहा शब्द थोडा विचित्र वाटतो कारण प्रत्यक्षात तुम्हाला तुमचे बदल प्रकल्पातpushकरायचे असतात. परंतु प्रकल्पाचा देखभालकर्ता (project owner) किंवा मुख्य टीमला तुमचे बदल प्रकल्पाच्या "main" शाखेत विलीन करण्यापूर्वी विचार करावा लागतो, त्यामुळे तुम्ही प्रत्यक्षात देखभालकर्त्याकडून बदलाचा निर्णय मागत आहात.
Pull request हे एक असे ठिकाण आहे जिथे शाखेत केलेल्या बदलांची तुलना आणि चर्चा केली जाते, त्यात पुनरावलोकने, टिप्पण्या, समाकलित चाचण्या आणि बरेच काही समाविष्ट असते. एक चांगले pull request साधारणपणे commit message सारखेच नियम पाळते. जर तुमचे काम एखाद्या समस्येचे निराकरण करत असेल तर तुम्ही issue tracker मध्ये त्या समस्येचा संदर्भ देऊ शकता. हे # आणि तुमच्या समस्येच्या क्रमांकाचा वापर करून केले जाते. उदाहरणार्थ, #97.
🤞बोटे क्रॉस करा की सर्व चाचण्या पास होतील आणि प्रकल्प मालक तुमचे बदल प्रकल्पात विलीन करतील🤞
तुमच्या स्थानिक शाखेत GitHub वरील संबंधित remote branch मधील सर्व नवीन commits अपडेट करा:
git pull
ओपन सोर्समध्ये योगदान कसे करावे
सर्वप्रथम, GitHub वर तुमच्या आवडीचा आणि ज्यामध्ये तुम्हाला बदल करायचा आहे असा एखादा repository (किंवा repo) शोधा. तुम्हाला त्याची सामग्री तुमच्या मशीनवर कॉपी करायची असेल.
✅ 'beginner-friendly' repos शोधण्यासाठी टॅग 'good-first-issue' ने शोधा.
कोड कॉपी करण्याचे अनेक मार्ग आहेत. एक मार्ग म्हणजे HTTPS, SSH किंवा GitHub CLI (Command Line Interface) वापरून repository ची सामग्री "clone" करणे.
तुमचा टर्मिनल उघडा आणि repository असे clone करा:
git clone https://github.com/ProjectURL
प्रकल्पावर काम करण्यासाठी योग्य फोल्डरमध्ये जा:
cd ProjectURL
तुम्ही Codespaces, GitHub चे एम्बेडेड कोड एडिटर / क्लाउड डेव्हलपमेंट एन्व्हायर्नमेंट किंवा GitHub Desktop वापरून संपूर्ण प्रकल्प उघडू शकता.
शेवटी, तुम्ही कोड झिप केलेल्या फोल्डरमध्ये डाउनलोड करू शकता.
GitHub बद्दल आणखी काही मनोरंजक गोष्टी
तुम्ही GitHub वरील कोणत्याही सार्वजनिक repository ला स्टार, वॉच आणि/किंवा "fork" करू शकता. तुमच्या स्टार केलेल्या repositories तुम्हाला वरच्या उजव्या ड्रॉप-डाउन मेनूमध्ये सापडतील. हे कोडसाठी बुकमार्क करण्यासारखे आहे.
प्रकल्पांमध्ये issue tracker असतो, मुख्यतः GitHub वर "Issues" टॅबमध्ये, जोपर्यंत वेगळे सांगितले नाही, जिथे लोक प्रकल्पाशी संबंधित समस्यांवर चर्चा करतात. आणि Pull Requests टॅबमध्ये लोक प्रगतीपथावर असलेल्या बदलांवर चर्चा आणि पुनरावलोकन करतात.
प्रकल्पांमध्ये फोरम, मेलिंग लिस्ट किंवा Slack, Discord किंवा IRC सारख्या चॅट चॅनेलमध्ये चर्चा असू शकते.
✅ तुमच्या नवीन GitHub repo चा फेरफटका मारा आणि काही गोष्टी करून पहा, जसे की सेटिंग्ज संपादित करणे, तुमच्या repo मध्ये माहिती जोडणे आणि प्रकल्प तयार करणे (जसे की Kanban बोर्ड). तुम्ही बरेच काही करू शकता!
🚀 आव्हान
मित्रासोबत जोडी बनवा आणि एकमेकांच्या कोडवर काम करा. एकत्रितपणे प्रकल्प तयार करा, कोड fork करा, शाखा तयार करा आणि बदल विलीन करा.
व्याख्यानानंतरचा क्विझ
पुनरावलोकन आणि स्व-अभ्यास
ओपन सोर्स सॉफ्टवेअरमध्ये योगदान देण्याबद्दल अधिक वाचा.
सराव करा, सराव करा, सराव करा. GitHub कडे skills.github.com द्वारे उपलब्ध उत्कृष्ट शिक्षण मार्ग आहेत:
तुम्हाला अधिक प्रगत अभ्यासक्रम देखील सापडतील.
असाइनमेंट
GitHub वर पहिला आठवडा कोर्स पूर्ण करा
अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून निर्माण होणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.



