37 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कमांड वापरा. कमिट म्हणजे तुमच्या रिपॉझिटरीच्या इतिहासातील एक सेव्हिंग पॉइंट. कमिट तयार करण्यासाठी खालील टाइप करा:git commit -m "first commit"हे तुमच्या सर्व फाइल्स कमिट करते, "पहिले कमिट" संदेश जोडते. भविष्यातील कमिट संदेशांसाठी तुम्हाला तुमच्या बदलाचा प्रकार सांगण्यासाठी अधिक वर्णनात्मक असणे आवश्यक आहे.
-
तुमच्या स्थानिक 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" शाखेतील कमिट्स GitHub वर पाठवते.
upstreamशाखा सेट करणे आणि कमांडमध्ये-uसमाविष्ट करणे स्थानिक शाखा आणि रिमोट शाखेमध्ये लिंक स्थापित करते, त्यामुळे तुम्ही शाखेचे नाव निर्दिष्ट न करता फक्त git push किंवा git pull वापरू शकता. Git स्वयंचलितपणे upstream शाखा वापरेल आणि तुम्हाला भविष्यातील कमांडमध्ये शाखेचे नाव स्पष्टपणे निर्दिष्ट करण्याची आवश्यकता नाही. -
अधिक बदल जोडण्यासाठी. जर तुम्हाला बदल करत राहायचे असतील आणि ते 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 maingit merge mainकमांडmainमधील सर्व बदल तुमच्या शाखेत आणेल. आशा आहे की तुम्ही फक्त पुढे जाऊ शकता. जर तसे नसेल तर, VS Code तुम्हाला सांगेल की Git कुठे confused आहे आणि तुम्ही प्रभावित फाइल्स बदलून कोणती सामग्री सर्वात अचूक आहे ते सांगाल.वेगळ्या शाखेत स्विच करण्यासाठी, आधुनिक
git switchकमांड वापरा:git switch [branch_name] -
तुमचे काम GitHub वर पाठवा. तुमचे काम GitHub वर पाठवणे म्हणजे दोन गोष्टी. तुमची शाखा तुमच्या रिपॉझिटरीवर पुश करणे आणि नंतर PR, Pull Request उघडणे.
git push --set-upstream origin [branch-name]वरील कमांड तुमच्या फोर्क केलेल्या रिपॉझिटरीवर शाखा तयार करते.
-
PR उघडा. पुढे, तुम्हाला PR उघडायचा आहे. तुम्ही GitHub वर fork केलेल्या रेपोवर जाऊन ते करू शकता. GitHub वर तुम्हाला एक सूचना दिसेल जिथे विचारले जाते की तुम्हाला नवीन PR तयार करायचा आहे का, तुम्ही त्यावर क्लिक करा आणि तुम्हाला अशा इंटरफेसवर नेले जाईल जिथे तुम्ही commit message चे शीर्षक बदलू शकता, त्याला अधिक योग्य वर्णन देऊ शकता. आता तुम्ही fork केलेल्या रेपोचा maintainer हा PR पाहील आणि बोटे क्रॉस करून ते तुमच्या PR चे कौतुक करतील आणि merge करतील. तुम्ही आता contributor आहात, याय :)
-
स्वच्छता करा. PR यशस्वीपणे merge केल्यानंतर स्वच्छता करणे चांगली पद्धत मानली जाते. तुम्हाला तुमची स्थानिक शाखा आणि GitHub वर तुम्ही पुश केलेली शाखा दोन्ही स्वच्छ करायची आहेत. प्रथम, खालील कमांडसह ती स्थानिकपणे हटवूया:
git branch -d [branch-name]नंतर GitHub पृष्ठावर जा जिथे fork केलेला रेपो आहे आणि तुम्ही पुश केलेली remote शाखा हटवा.
Pull request हा शब्द थोडा विचित्र वाटतो कारण प्रत्यक्षात तुम्हाला तुमचे बदल प्रकल्पात पुश करायचे आहेत. पण maintainer (प्रकल्प मालक) किंवा core टीमला तुमचे बदल merge करण्यापूर्वी विचार करणे आवश्यक आहे, त्यामुळे तुम्ही प्रत्यक्षात maintainer कडून बदलाचा निर्णय मागत आहात.
Pull request ही एक जागा आहे जिथे शाखेत केलेल्या बदलांची तुलना आणि चर्चा केली जाते, त्यात reviews, comments, integrated tests आणि बरेच काही असते. चांगला pull request commit message सारख्याच नियमांचे अनुसरण करतो. तुम्ही issue tracker मध्ये issue संदर्भ जोडू शकता, उदाहरणार्थ तुमचे काम एखाद्या issue ला सोडवते तेव्हा. हे # आणि तुमच्या issue चा क्रमांक वापरून केले जाते. उदाहरणार्थ #97.
🤞बोटे क्रॉस करून आशा आहे की सर्व चाचण्या पास होतील आणि प्रकल्प मालक तुमचे बदल प्रकल्पात merge करतील🤞
GitHub वरच्या संबंधित remote शाखेतील सर्व नवीन commits सह तुमची सध्याची स्थानिक कार्यरत शाखा अपडेट करा:
git pull
ओपन सोर्समध्ये योगदान कसे द्यावे
सर्वप्रथम, GitHub वर तुमच्या आवडीचा आणि ज्यामध्ये तुम्हाला बदल करायचा आहे असा रेपो (किंवा repository) शोधूया. तुम्हाला त्याची सामग्री तुमच्या मशीनवर कॉपी करायची आहे.
✅ 'beginner-friendly' रेपो शोधण्याचा चांगला मार्ग म्हणजे टॅग 'good-first-issue' ने शोधा.
कोड कॉपी करण्याचे अनेक मार्ग आहेत. एक मार्ग म्हणजे HTTPS, SSH किंवा GitHub CLI (Command Line Interface) वापरून रेपोची सामग्री "clone" करणे.
तुमचा टर्मिनल उघडा आणि रेपो खालीलप्रमाणे clone करा:
git clone https://github.com/ProjectURL
प्रकल्पावर काम करण्यासाठी, योग्य फोल्डरमध्ये जा:
cd ProjectURL
तुम्ही Codespaces, GitHub चा embedded code editor / cloud development environment, किंवा GitHub Desktop वापरून संपूर्ण प्रकल्प उघडू शकता.
शेवटी, तुम्ही कोड एका zipped फोल्डरमध्ये डाउनलोड करू शकता.
GitHub बद्दल आणखी काही मनोरंजक गोष्टी
तुम्ही GitHub वर कोणत्याही सार्वजनिक रेपोला स्टार, watch आणि/किंवा "fork" करू शकता. तुम्ही तुमचे starred रेपो वरच्या उजव्या drop-down मेनूमध्ये शोधू शकता. हे bookmarking सारखे आहे, पण कोडसाठी.
प्रकल्पांमध्ये issue tracker असतो, मुख्यतः GitHub वर "Issues" टॅबमध्ये, जोपर्यंत वेगळे सांगितले नाही, जिथे लोक प्रकल्पाशी संबंधित समस्यांवर चर्चा करतात. आणि Pull Requests टॅब ही जागा आहे जिथे लोक प्रगतीत असलेल्या बदलांवर चर्चा आणि पुनरावलोकन करतात.
प्रकल्पांमध्ये forums, mailing lists, किंवा Slack, Discord किंवा IRC सारख्या chat channels मध्ये चर्चा असू शकते.
✅ तुमच्या नवीन GitHub रेपोमध्ये फेरफटका मारा आणि काही गोष्टी करून पहा, जसे की सेटिंग्ज संपादित करणे, तुमच्या रेपोमध्ये माहिती जोडणे, आणि प्रकल्प तयार करणे (जसे की Kanban बोर्ड). तुम्ही खूप काही करू शकता!
🚀 आव्हान
मित्रासोबत जोडी बनवा आणि एकमेकांच्या कोडवर काम करा. एकत्र प्रकल्प तयार करा, कोड fork करा, शाखा तयार करा, आणि बदल merge करा.
Post-Lecture Quiz
पुनरावलोकन आणि स्व-अभ्यास
ओपन सोर्स सॉफ्टवेअरमध्ये योगदान देण्याबद्दल अधिक वाचा.
अभ्यास करा, सराव करा, सराव करा. GitHub कडे skills.github.com द्वारे उपलब्ध उत्कृष्ट शिक्षण मार्ग आहेत:
तुम्हाला अधिक प्रगत अभ्यासक्रम देखील सापडतील.
असाइनमेंट
GitHub वर पहिला आठवडा कोर्स पूर्ण करा
अस्वीकरण:
हा दस्तऐवज Co-op Translator या एआय भाषांतर सेवेचा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.



