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 वापरण्याची तुलना स्वतःसाठी प्रेमपत्र लिहिण्याशी करतात. काही दिवस, आठवडे किंवा महिने नंतर तुमचे कमिट मेसेज वाचून तुम्हाला निर्णय का घेतला हे आठवेल, किंवा बदल मागे घेता येईल - अर्थात, जर तुम्ही चांगले "कमिट मेसेज" लिहिले असतील तर.
कार्य: रिपॉझिटरी तयार करा आणि कोड कमिट करा
व्हिडिओ पहा
-
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]
हे तुम्हाला फक्त निवडक फाईल्स स्टेजिंग एरियामध्ये जोडण्यास मदत करते, जेव्हा तुम्हाला सर्व फाईल्स एकाच वेळी कमिट करायच्या नसतात.
-
सर्व फाईल्स अनस्टेज करा
git reset
ही कमांड तुम्हाला सर्व फाईल्स एकाच वेळी अनस्टेज करण्यास मदत करते.
-
एखादी विशिष्ट फाईल अनस्टेज करा
git reset [file or folder name]
ही कमांड तुम्हाला फक्त एक विशिष्ट फाईल अनस्टेज करण्यास मदत करते, जी तुम्हाला पुढील कमिटमध्ये समाविष्ट करायची नसते.
-
तुमचे काम कायम करा. या टप्प्यावर तुम्ही फाईल्स स्टेजिंग एरिया मध्ये जोडल्या आहेत. Git तुमच्या फाईल्स ट्रॅक करत आहे. बदल कायम करण्यासाठी तुम्हाला फाईल्स कमिट कराव्या लागतील. कमिट म्हणजे तुमच्या रिपॉझिटरीच्या इतिहासातील एक सेव्हिंग पॉइंट. कमिट तयार करण्यासाठी खालील टाइप करा:
git commit -m "first commit"
हे तुमच्या सर्व फाईल्स कमिट करते, "first commit" हा मेसेज जोडून. भविष्यातील कमिट मेसेजसाठी, तुम्ही केलेल्या बदलांचे स्वरूप स्पष्ट करण्यासाठी अधिक वर्णनात्मक मेसेज लिहा.
-
तुमच्या स्थानिक Git रिपॉझिटरीला GitHub शी जोडा. स्थानिक Git रिपॉझिटरी तुमच्या संगणकावर चांगली आहे, पण एका टप्प्यावर तुम्हाला तुमच्या फाईल्सचा बॅकअप कुठेतरी हवा असेल आणि इतर लोकांना तुमच्या रिपॉझिटरीवर काम करण्यासाठी आमंत्रित करायचे असेल. GitHub हे असे करण्यासाठी एक उत्तम ठिकाण आहे. लक्षात ठेवा, आपण आधीच GitHub वर रिपॉझिटरी तयार केली आहे, त्यामुळे आपल्याला फक्त स्थानिक Git रिपॉझिटरी GitHub शी जोडायची आहे.
git remote add
ही कमांड तेच करेल. खालील कमांड टाइप करा:लक्षात ठेवा, कमांड टाइप करण्यापूर्वी तुमच्या GitHub रिपॉझिटरी पेजवर जा आणि रिपॉझिटरी URL शोधा. तुम्ही तो 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" ब्रँचमधील कमिट्स GitHub वर पाठवते.
-
अधिक बदल जोडण्यासाठी. जर तुम्हाला बदल करत राहायचे असतील आणि ते GitHub वर पुश करायचे असतील, तर तुम्हाला फक्त खालील तीन कमांड्स वापराव्या लागतील:
git add . git commit -m "type your commit message here" git push
टीप, तुम्हाला
.gitignore
फाईल स्वीकारायची असेल, जी तुम्हाला GitHub वर ट्रॅक करायच्या नसलेल्या फाईल्स टाळण्यास मदत करेल - जसे की, नोट्स फाईल जी तुम्ही त्याच फोल्डरमध्ये ठेवता पण सार्वजनिक रिपॉझिटरीवर ठेवण्याची गरज नाही..gitignore
फाईल्ससाठी टेम्पलेट्स येथे मिळू शकतात: .gitignore templates.
कमिट मेसेजेस
एक उत्तम Git कमिट सब्जेक्ट लाइन खालील वाक्य पूर्ण करते:
जर लागू केले, तर हा कमिट <तुमचा सब्जेक्ट लाइन येथे> करेल.
सब्जेक्टसाठी, आज्ञार्थी, वर्तमानकाळाचा वापर करा: "change" नाही "changed" किंवा "changes".
सब्जेक्टप्रमाणेच, बॉडीमध्ये (पर्यायी) देखील आज्ञार्थी, वर्तमानकाळाचा वापर करा. बॉडीमध्ये बदल करण्यामागील प्रेरणा आणि मागील वर्तनाशी त्याचा विरोध यांचा समावेश असावा. तुम्ही का
हे स्पष्ट करत आहात, कसे
नाही.
✅ काही मिनिटे GitHub वर सर्फ करा. तुम्हाला एक खूप चांगला कमिट मेसेज सापडतो का? तुम्हाला एक खूपच साधा मेसेज सापडतो का? कमिट मेसेजमध्ये कोणती माहिती सर्वात महत्त्वाची आणि उपयुक्त वाटते?
कार्य: सहकार्य करा
GitHub वर गोष्टी ठेवण्याचे मुख्य कारण म्हणजे इतर विकसकांसोबत सहकार्य करणे शक्य करणे.
इतरांसोबत प्रकल्पांवर काम करणे
व्हिडिओ पहा
तुमच्या रिपॉझिटरीमध्ये, Insights > Community
ला जा आणि तुमचा प्रकल्प शिफारस केलेल्या समुदाय मानकांशी कसा जुळतो ते पहा.
तुमच्या GitHub रिपॉझिटरी सुधारण्यासाठी काही गोष्टी:
- वर्णन. तुमच्या प्रकल्पासाठी वर्णन जोडले आहे का?
- README. तुम्ही README जोडले आहे का? GitHub README लिहिण्यासाठी मार्गदर्शन प्रदान करते.
- योगदान मार्गदर्शक. तुमच्या प्रकल्पात योगदान मार्गदर्शक आहेत का?
- आचारसंहिता. आचारसंहिता आहे का?
- परवाना. कदाचित सर्वात महत्त्वाचे म्हणजे, परवाना आहे का?
हे सर्व संसाधने नवीन टीम सदस्यांना ऑनबोर्डिंगसाठी फायदेशीर ठरतील. आणि हीच ती गोष्टी आहेत ज्या नवीन योगदानकर्ते तुमचा कोड पाहण्याआधी पाहतात, हे शोधण्यासाठी की तुमचा प्रकल्प त्यांचा वेळ घालवण्यासाठी योग्य ठिकाण आहे का.
✅ README फाईल्स, जरी तयार करण्यासाठी वेळ लागतो, तरीही व्यस्त मेंटेनर्सकडून दुर्लक्षित केल्या जातात. तुम्हाला एखाद्या विशेषतः वर्णनात्मक README चे उदाहरण सापडते का? टीप: चांगले README तयार करण्यासाठी काही साधने आहेत जी तुम्हाला वापरायची असतील.
कार्य: कोड मर्ज करा
योगदान दस्तऐवज लोकांना प्रकल्पात योगदान देण्यास मदत करतात. यात तुम्ही कोणत्या प्रकारचे योगदान शोधत आहात आणि प्रक्रिया कशी कार्य करते हे स्पष्ट केले आहे. योगदानकर्त्यांना GitHub वर तुमच्या रिपॉझिटरीमध्ये योगदान देण्यासाठी काही चरणांमधून जावे लागेल:
- तुमची रिपॉझिटरी फोर्क करणे. तुम्हाला कदाचित लोकांना तुमचा प्रकल्प फोर्क करायला सांगायचे असेल. फोर्क करणे म्हणजे त्यांच्या GitHub प्रोफाइलवर तुमच्या रिपॉझिटरीची प्रत तयार करणे.
- क्लोन. त्यानंतर ते प्रकल्प त्यांच्या स्थानिक संगणकावर क्लोन करतील.
- ब्रँच तयार करा. तुम्ही त्यांना त्यांच्या कामासाठी एक ब्रँच तयार करण्यास सांगाल.
- त्यांचा बदल एका क्षेत्रावर केंद्रित करा. योगदानकर्त्यांना एकावेळी एका गोष्टीवर लक्ष केंद्रित करण्यास सांगा - अशा प्रकारे त्यांचे काम मर्ज होण्याची शक्यता जास्त आहे. कल्पना करा की त्यांनी बग फिक्स लिहिला, एक नवीन वैशिष्ट्य जोडले, आणि अनेक चाचण्या अपडेट केल्या - काय झाले तर तुम्हाला 3 पैकी 2 किंवा 3 पैकी 1 बदल लागू करायचे आहेत?
✅ अशा परिस्थितीची कल्पना करा जिथे ब्रँचेस चांगला कोड लिहिण्यासाठी आणि शिप करण्यासाठी विशेषतः महत्त्वाचे आहेत. तुम्हाला कोणते उपयोग प्रकरणे सुचतात?
टीप, तुम्ही जगात पाहू इच्छित असलेला बदल व्हा आणि तुमच्या स्वतःच्या कामासाठी ब्रँच तयार करा. तुम्ही केलेले कोणतेही कमिट्स तुम्ही सध्या "चेक आउट" केलेल्या ब्रँचवर केले जातील.
git status
वापरून तो कोणता ब्रँच आहे ते पहा.
आता योगदानकर्त्याच्या वर्कफ्लोमधून जाऊया. गृहीत धरा की योगदानकर्त्याने आधीच रिपॉझिटरी फोर्क आणि क्लोन केली आहे, त्यामुळे त्यांच्याकडे स्थानिक संगणकावर काम करण्यासाठी Git रिपॉझिटरी तयार आहे:
-
ब्रँच तयार करा.
git branch
कमांड वापरून एक ब्रँच तयार करा ज्यामध्ये ते योगदान देऊ इच्छित असलेले बदल असतील:git branch [branch-name]
-
कार्यरत ब्रँचवर स्विच करा. निर्दिष्ट ब्रँचवर स्विच करा आणि
git switch
वापरून कार्यरत डायरेक्टरी अपडेट करा:git switch [branch-name]
-
काम करा. या टप्प्यावर तुम्हाला तुमचे बदल जोडायचे आहेत. खालील कमांड्स वापरून Git ला त्याबद्दल सांगा:
git add . git commit -m "my changes"
तुमच्या कमिटला चांगले नाव द्या, तुमच्यासाठी तसेच तुम्ही मदत करत असलेल्या रिपॉझिटरीच्या मेंटेनरसाठी.
-
तुमचे काम
main
ब्रँचसोबत एकत्र करा. एका टप्प्यावर तुम्ही काम पूर्ण केले आहे आणि तुम्हाला तुमचे कामmain
ब्रँचसोबत एकत्र करायचे आहे. दरम्यानmain
ब्रँच बदलले असेल, त्यामुळे खालील कमांड्स वापरून ते सर्वात नवीन आहे याची खात्री करा:git switch main git pull
या टप्प्यावर तुम्हाला कोणतेही conflicts, जिथे Git सहजपणे बदल combine करू शकत नाही, ते तुमच्या कार्यरत ब्रँचमध्ये होण्याची खात्री करायची आहे. म्हणून खालील कमांड्स चालवा:
git switch [branch_name] git merge main
हे
main
मधील सर्व बदल तुमच्या ब्रँचमध्ये आणेल आणि आशा आहे की तुम्ही फक्त पुढे जाऊ शकता. जर तसे नसेल, तर VS Code तुम्हाला सांगेल की Git कुठे confused आहे आणि तुम्ही प्रभावित फाईल्स बदलून कोणती सामग्री सर्वात अचूक आहे ते सांगू शकता. -
तुमचे काम GitHub वर पाठवा. तुमचे काम GitHub वर पाठवणे म्हणजे दोन गोष्टी. तुमचा ब्रँच तुमच्या रिपॉझिटरीवर पुश करणे आणि नंतर PR, Pull Request उघडणे.
git push --set-upstream origin [branch-name]
वरील कमांड तुमच्या फोर्क केलेल्या रिपॉझिटरीवर ब्रँच तयार करते.
-
PR उघडा. पुढे, तुम्हाला PR उघडायचा आहे. तुम्ही GitHub वरील फोर्क केलेल्या रिपॉझिटरीवर नेव्हिगेट करून ते करू शकता. GitHub वर तुम्हाला एक संकेत दिसेल जिथे ते विचारते की तुम्हाला नवीन PR तयार करायचा आहे का, तुम्ही त्यावर क्लिक करता आणि तुम्हाला अशा इंटरफेसवर नेले जाते जिथे तुम्ही कमिट मेसेज शीर्षक बदलू शकता, त्याला अधिक योग्य वर्णन देऊ शकता. आता तुम्ही फोर्क केलेल्या रिपॉझिटरीचा मेंटेनर हा PR पाहील आणि fingers crossed ते तुमचा PR merge करतील. तुम्ही आता योगदानकर्ता आहात, याय :)
-
स्वच्छता करा. PR यशस्वीरित्या मर्ज केल्यानंतर स्वच्छता करणे चांगली प्रथा मानली जाते. तुम्हाला तुमचा स्थानिक ब्रँच आपल्या फोर्क केलेल्या रेपोच्या GitHub पेजवर जा आणि तुम्ही त्यावर पुश केलेली रिमोट ब्रांच काढून टाका.
Pull request
हा शब्द थोडा विचित्र वाटतो कारण प्रत्यक्षात तुम्हाला तुमचे बदल प्रोजेक्टमध्ये पुश करायचे असतात. पण प्रोजेक्टचा मालक किंवा कोर टीमला तुमचे बदल प्रोजेक्टच्या "main" ब्रांचमध्ये मर्ज करण्यापूर्वी विचार करावा लागतो, त्यामुळे तुम्ही प्रत्यक्षात मालकाकडून बदलाचा निर्णय मागत असता.
Pull request ही एक जागा आहे जिथे ब्रांचवर केलेल्या बदलांची तुलना आणि चर्चा केली जाते, त्यात रिव्ह्यू, टिप्पण्या, इंटिग्रेटेड टेस्ट्स आणि बरेच काही समाविष्ट असते. एक चांगला pull request साधारणपणे commit message सारखेच नियम पाळतो. तुम्ही issue tracker मध्ये एखाद्या issue संदर्भ जोडू शकता, जसे की तुमचे काम एखाद्या issue ला सोडवते. हे #
आणि issue च्या क्रमांकाचा वापर करून केले जाते. उदाहरणार्थ #97
.
🤞बोटे क्रॉस करा की सर्व चेक्स पास होतील आणि प्रोजेक्ट मालक तुमचे बदल प्रोजेक्टमध्ये मर्ज करतील🤞
तुमच्या स्थानिक ब्रांचला GitHub वरील संबंधित रिमोट ब्रांचमधील सर्व नवीन commits सह अपडेट करा:
git pull
ओपन सोर्समध्ये योगदान कसे द्यावे
सर्वप्रथम, GitHub वर तुम्हाला आवडणारा आणि ज्यामध्ये तुम्हाला बदल करायचा आहे असा एखादा रेपो (repository) शोधा. तुम्हाला त्याची सामग्री तुमच्या मशीनवर कॉपी करायची असेल.
✅ 'beginner-friendly' रेपो शोधण्याचा एक चांगला मार्ग म्हणजे टॅग 'good-first-issue' ने शोधा.
कोड कॉपी करण्याचे अनेक मार्ग आहेत. एक मार्ग म्हणजे रेपोची सामग्री "clone" करणे, HTTPS, SSH किंवा GitHub CLI (Command Line Interface) वापरून.
तुमचा टर्मिनल उघडा आणि रेपो clone करा:
git clone https://github.com/ProjectURL
प्रोजेक्टवर काम करण्यासाठी योग्य फोल्डरमध्ये जा:
cd ProjectURL
तुम्ही Codespaces, GitHub चा एम्बेडेड कोड एडिटर / क्लाउड डेव्हलपमेंट एन्व्हायर्नमेंट, किंवा GitHub Desktop वापरून संपूर्ण प्रोजेक्ट उघडू शकता.
शेवटी, तुम्ही कोड झिप केलेल्या फोल्डरमध्ये डाउनलोड करू शकता.
GitHub बद्दल आणखी काही मनोरंजक गोष्टी
तुम्ही GitHub वरील कोणत्याही सार्वजनिक रेपोला स्टार, वॉच आणि/किंवा "fork" करू शकता. तुम्ही तुमचे स्टार केलेले रेपो टॉप-राइट ड्रॉप-डाउन मेनूमध्ये शोधू शकता. हे बुकमार्किंगसारखे आहे, पण कोडसाठी.
प्रोजेक्टमध्ये issue tracker असतो, मुख्यतः GitHub वर "Issues" टॅबमध्ये, जोपर्यंत वेगळे सांगितले नाही, जिथे लोक प्रोजेक्टशी संबंधित समस्यांवर चर्चा करतात. आणि Pull Requests टॅबमध्ये लोक प्रगतीत असलेल्या बदलांवर चर्चा आणि रिव्ह्यू करतात.
प्रोजेक्टमध्ये फोरम, मेलिंग लिस्ट्स किंवा Slack, Discord किंवा IRC सारख्या चॅट चॅनेलमध्ये चर्चा असू शकते.
✅ तुमच्या नवीन GitHub रेपोमध्ये फेरफटका मारा आणि काही गोष्टी करून पहा, जसे की सेटिंग्ज एडिट करणे, तुमच्या रेपोमध्ये माहिती जोडणे, आणि प्रोजेक्ट तयार करणे (जसे की Kanban बोर्ड). तुम्ही खूप काही करू शकता!
🚀 आव्हान
मित्रासोबत जोडी बनवा आणि एकमेकांच्या कोडवर काम करा. एकत्रितपणे प्रोजेक्ट तयार करा, कोड fork करा, ब्रांच तयार करा, आणि बदल मर्ज करा.
पोस्ट-लेक्चर क्विझ
पुनरावलोकन आणि स्व-अभ्यास
ओपन सोर्स सॉफ्टवेअरमध्ये योगदान देण्याबद्दल अधिक वाचा.
सराव करा, सराव करा, सराव करा. GitHub कडे skills.github.com द्वारे उत्कृष्ट शिक्षण मार्ग उपलब्ध आहेत:
तुम्हाला अधिक प्रगत कोर्सेस देखील सापडतील.
असाइनमेंट
GitHub वर पहिला आठवडा कोर्स पूर्ण करा
अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.