Git एक संस्करण नियंत्रण प्रणाली है जिसका उपयोग सॉफ्टवेयर डेवलपर्स, कोडर्स और टिंकरर्स द्वारा ओपन सोर्स प्रोजेक्ट्स पर सहयोग करने और वितरित करने के लिए किया जाता है। गिट का उपयोग करके, आप किसी भी आकार की परियोजनाओं को संभाल सकते हैं, कोड परिवर्तन और मर्ज कर सकते हैं, और उपयोगकर्ताओं को अपने रिपॉजिटरी को अपनी मशीनों पर क्लोन करने की अनुमति दे सकते हैं। ओपन सोर्स इकोसिस्टम गिट पर चलता है, और MakeUseOf.com पर चित्रित कई परियोजनाओं में गिटहब से संसाधनों का उपयोग करना शामिल है। Gitea के साथ, आप अपने स्वयं के घर में रास्पबेरी पाई पर अपने स्वयं के पूर्ण कार्यात्मक Git रिपॉजिटरी की मेजबानी कर सकते हैं।
GitHub का उपयोग करने के बजाय रास्पबेरी पाई पर अपनी स्वयं की Git सेवा क्यों होस्ट करें?
55 मिलियन उपयोगकर्ताओं के साथ, GitHub फ्री और ओपन सोर्स सॉफ्टवेयर का सबसे बड़ा भंडार है पृथ्वी पर, लेकिन इसके वर्तमान मालिक, Microsoft, संरक्षक की भूमिका के लिए स्वाभाविक रूप से फिट नहीं हैं। कंपनी के पिछले सीईओ ने लिनक्स और जनरल पब्लिक लाइसेंस को "कैंसर" के रूप में वर्णित किया, और माइक्रोसॉफ्ट के अधिकांश उत्पाद मालिकाना और बंद स्रोत हैं।
Microsoft के स्वामित्व ने GitHub को कुछ नैतिक रूप से संदिग्ध तकनीकों की खोज करते हुए भी देखा है - विशेष रूप से GitHub Copilot के साथ, प्रोग्रामर को कोड उत्पन्न करने में मदद करने के लिए एक AI उपकरण। कोडर्स द्वारा नियोजित क्रिएटिव कॉमन्स लाइसेंस की शर्तों के संभावित उल्लंघन में कोपिलॉट को गिटहब से डेटा पर प्रशिक्षित किया गया था।
GitHub का उपयोग करके, डेवलपर्स अभी तक एक और चोक पॉइंट बना रहे हैं, जिस पर नवाचार को दबाया जा सकता है, कम आंका जा सकता है और तुच्छ हस्तक्षेप के अधीन किया जा सकता है।
गीता की मदद से आप रास्पबेरी पाई पर अपना खुद का गिट सर्वर सेट कर सकते हैं
Gitea Gogs का एक कांटा है, और एक समुदाय-प्रबंधित हल्का कोड होस्टिंग समाधान है, जिसे Go में लिखा गया है, और MIT लाइसेंस के तहत प्रकाशित किया गया है। इसका लक्ष्य अपने पूर्ववर्ती की तुलना में अधिक खुला और तेज़ विकास मॉडल है, और यह रास्पबेरी पाई जैसे मामूली संसाधनों वाली मशीनों पर चलेगा। आप अपनी dotfiles पर काम कर पाएंगे, कस्टम उबंटू आईएसओ, बैश स्क्रिप्ट, और जावा और पायथन यूटिलिटीज को बिना इस डर के कि वे DMCA टेकडाउन के अधीन होंगे, नापाक सॉफ़्टवेयर को प्रशिक्षित करने के लिए उपयोग किया जाएगा, या अन्यथा आपके नियंत्रण से बाहर हो जाएगा।
अपने रास्पबेरी पाई पर गीता कैसे स्थापित करें
Gitea कई स्थापना विधियों के साथ आता है, लेकिन सबसे आसान डॉकर के माध्यम से है। यदि आपके पास ये पहले से ही आपके Raspberry Pi पर नहीं चल रहे हैं, डॉकर और डॉकर कंपोज़ स्थापित करें अब।
आपके द्वारा अपने Gitea सर्वर में संग्रहीत की जाने वाली फ़ाइलें संभावित रूप से बहुत अधिक स्थान ले लेंगी, इसलिए हम सुझाव देते हैं अपने Raspberry Pi के साथ बाह्य संग्रहण का उपयोग करना, और उसका उपयोग अपने Gitea इंस्टाल के लिए स्थान के रूप में करें।
SSH के माध्यम से अपने Pi से कनेक्ट करें, फिर उस स्थान पर नेविगेट करें जहाँ आप Gitea को स्थापित करना चाहते हैं, और एक नई निर्देशिका बनाएँ, फिर उसमें जाएँ:
mkdir गीता
सीडी gita
नैनो के साथ एक नई फाइल बनाएं:
नैनोdocker-रचना.yml
... और इसमें निम्न कोड पेस्ट करें:
संस्करण: "3"नेटवर्क:
गीता:
बाहरी: असत्य
सेवाएं:
सर्वर:
छवि: गीता/गीता: नवीनतम
कंटेनर_नाम: गीता
पर्यावरण:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db: 3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
पुनरारंभ करें: हमेशा
नेटवर्क:
- गीता
वॉल्यूम:
- ./गीता:/डेटा
- /आदि/समयक्षेत्र:/आदि/समयक्षेत्र: जीबी
- / आदि / स्थानीय समय: / आदि / स्थानीय समय: जीबी
बंदरगाहों:
- "3000:3000"
- "222:22"
पर निर्भर करता है:
- डीबी
डीबी:
छवि: MySQL: 8
पुनरारंभ करें: हमेशा
पर्यावरण:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
नेटवर्क:
- गीता
वॉल्यूम:
- ./mysql: /var/lib/mysql
टाइमज़ोन को अपनी लोकेल में बदलें और अपने डेटाबेस के लिए एक मजबूत पासवर्ड चुनें, फिर नैनो को सहेजें और बाहर निकलें सीटीआरएल + ओ, तब सीटीआरएल + एक्स।
प्रवेश करना:
डॉकर-कंपोज़ अप -डी
... डॉकटर-कंपोज़ को डिटैच्ड मोड में लाने के लिए। डॉकर-कंपोज़ गीता और मारिया डीबी के लिए कई छवियों को खींचेगा और कंटेनर स्थापित करेगा। आपके कनेक्शन की गति के आधार पर, इसमें कुछ समय लग सकता है।
जब आप कमांड प्रॉम्प्ट पर वापस आ जाते हैं:
डॉकर-कंपोज़ पीएस
... "gitea" और "gitea_db_1" को "up" दिखाना चाहिए। अब आप अपने Gitea साइट के प्रारंभिक कॉन्फ़िगरेशन पृष्ठ पर जा सकते हैं your.pi.local.ip.address: 3000.
अभी कुछ भी मत बदलो। यदि आप अपने गीता इंस्टेंस को इंटरनेट पर एक्सेस करने की योजना बना रहे हैं, तो आपको पहले थोड़ी और तैयारी करनी होगी।
इंटरनेट पर अपने गीता इंस्टेंस को एक्सेस करें
आप अपने Gitea उदाहरण तक पहुँचने में सक्षम होने के लिए एक मानक URL टाइप करने में सक्षम होना चाहते हैं, इसलिए आपको प्रॉक्सी को संभालने के लिए Apache की आवश्यकता होगी। इसके साथ अपाचे स्थापित करें:
सुडो उपयुक्त स्थापित करना apache2
अब, निम्नलिखित कमांड के साथ Apache को शुरू और सक्षम करें:
सुडो सिस्टमक्टल शुरू apache2
सुडो सिस्टमक्टल सक्षम apache2
अपाचे के प्रॉक्सी मॉड्यूल को इसके साथ सक्षम करें:
सुडो a2enmod प्रॉक्सी
सुडो a2enmod proxy_http
एक डोमेन नाम या उपडोमेन नाम चुनें एक प्रतिष्ठित रजिस्ट्रार से। फिर, अपने रजिस्ट्रार के सेटिंग पेज से, 'उन्नत डीएनएस' विकल्प खोजें और एक नया जोड़ें ए अभिलेख। ठीक मेज़बान के लिए क्षेत्र "@" और मान फ़ील्ड आपके स्थिर IP पते पर। टीटीएल (टाइम टू लीज) मान को जितना संभव हो उतना कम सेट करें, फिर सेव करें।
अपना राउटर व्यवस्थापक पृष्ठ खोलें, और शीर्षक वाला एक अनुभाग ढूंढें अग्रेषण पोर्ट, पोर्ट मानचित्रण, या बंदरगाह प्रबंधन।
HTTP अनुरोधों के लिए एक नई प्रविष्टि बनाएँ। स्थानीय और सार्वजनिक पोर्ट दोनों को सेट करें 80, और आपके Raspberry Pi के IP पते का स्थानीय IP पता।
HTTPS अनुरोधों के लिए दूसरा खुला पोर्ट आवश्यक है। स्थानीय और सार्वजनिक पोर्ट दोनों को सेट करें 443, और फिर से, आपके Pi के IP पते पर स्थानीय IP पता।
अंत में, आपको अपने गिट सर्वर पर एसएसएच अनुरोधों के लिए एक बंदरगाह खोलने की जरूरत है। स्थानीय और सार्वजनिक पोर्ट दोनों को सेट करें 222, और स्थानीय आईपी पता आपके पीआई के आईपी पते पर।
आप सुरक्षा प्रमाणपत्र और कुंजियाँ प्राप्त करने के लिए Certbot का उपयोग करेंगे। Certbot रिपॉजिटरी जोड़ें, अपडेट करें, फिर Certbot इंस्टॉल करें:
सुडो एड-एपीटी-रिपॉजिटरी पीपीए: सर्टिफिकेट / सर्टिफिकेटबॉट
सुडो उपयुक्त अद्यतन
सुडो उपयुक्त-पाना python3-certbot-apache इंस्टॉल करें
निर्देशिकाएँ बदलें, और नैनो के साथ एक नई फ़ाइल बनाएँ:
सीडी /etc/apache2/sites-available/
नैनोgita.conf
नई फ़ाइल में, अपने स्वयं के डोमेन नाम में कॉपी करना सुनिश्चित करते हुए निम्न पेस्ट करें:
<वर्चुअलहोस्ट *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost पर</VirtualHost>
सहेजें और नैनो के साथ बाहर निकलें सीटीआरएल + हे, तब सीटीआरएल + एक्स, और अपनी नई गोपनीय फ़ाइल को इसके साथ सक्षम करें:
सुडोa2ensitegita.conf
अपाचे को पुनरारंभ करें:
सुडो सेवा अपाचे 2 पुनरारंभ करें
इसके साथ सर्टिफिकेट चलाएं:
सुडो सर्टिफिकेट
...और सूची से अपना डोमेन नाम चुनें। Certbot प्रमाणपत्र और चाबियां लाएगा और स्थापित करेगा। जब आप प्रॉम्प्ट पर वापस आ जाते हैं, तो अपाचे को फिर से शुरू करें:
सुडो सेवा अपाचे 2 पुनरारंभ करें
गीता इंस्टेंस सेटअप
अब आप अपने Gitea उदाहरण को एक ब्राउज़र में इस पते पर देख सकते हैं https://your-domain-name.tld. आप पहले खंड में डेटाबेस प्रकार, पासवर्ड और अन्य चर सेट करने में सक्षम होंगे। ये वे मान होंगे जो आपने अपनी डॉकर-कंपोज़ फ़ाइल में निर्दिष्ट किए हैं, और इन्हें पहले ही भर दिया जाना चाहिए, इसलिए इन्हें बदलने की कोई आवश्यकता नहीं है।
में सामान्य सेटिंग्स, ठीक घटनास्थल शीर्षक एक उपयुक्त के लिए, सर्वर डोमेन आपका डोमेन नाम होना चाहिए और एसएसएच सर्वर पोर्ट पर सेट होना चाहिए 222. आधार URL "HTTPS: //" सहित आपका डोमेन नाम होना चाहिए।
जब आप कर लें, तो बड़े नीले रंग को हिट करें गीता को स्थापित करें बटन। चाय के एक बड़े हरे कप से आपका स्वागत किया जाएगा, और उदाहरण के लिए आपने जो भी नाम और स्लग दिया है। अपना पहला उपयोगकर्ता बनाने के लिए, पृष्ठ के शीर्ष दाईं ओर रजिस्टर पर क्लिक करें, फिर अपना विवरण दर्ज करें। बधाई हो!
अपने गिट सर्वर पर अपने स्वयं के रिपॉजिटरी को पंजीकृत करने और होस्ट करने से किसी और को रोकने के लिए, आपको संपादित करने की आवश्यकता है app.ini फ़ाइल। यदि आपने शुरू में अपना gita निर्देशिका में / (रूट) निर्देशिका, दर्ज करें:
नैनो /gitea/gitea/gitea/conf/app.ini
सेवा अनुभाग तक नीचे स्क्रॉल करें और सेट करें DISABLE_REGISTRATION सच करने के लिए।
सहेजें और नैनो के साथ बाहर निकलें सीटीआरएल + हे, तब सीटीआरएल + एक्स, फिर अपने कंटेनरों को पुनः आरंभ करें:
डॉकर-कंपोज़ डाउनडॉकर-कंपोज़ अप -डी
गीता का उपयोग करना
यदि आपने कभी गिटहब का उपयोग किया है, तो आप तुरंत गीता में घर पर होंगे। लॉग इन करने के बाद, आप देखेंगे कि कोई रिपॉजिटरी उपलब्ध नहीं है। पर क्लिक करके एक बनाएं + पृष्ठ के दाईं ओर हस्ताक्षर करें, और इसे एक समझदार नाम दें।
आप बॉक्स को चेक करके रिपॉजिटरी को निजी बनाना चुन सकते हैं, या इसे दुनिया को देखने के लिए खुला छोड़ सकते हैं। रीडमी फ़ाइल के साथ इनिशियलाइज़ करने के लिए बॉक्स को चेक करें, फिर क्लिक करें रिपॉजिटरी बनाएं अपना पहला भंडार बनाने के लिए! आप परिवर्तन कर सकते हैं और कर सकते हैं, फ़ाइलें अपलोड कर सकते हैं, और संपादित कर सकते हैं जैसे कि यह GitHub थे।
पर क्लिक करें एसएसएच पते की प्रतिलिपि बनाने के लिए, और आप अपने स्थानीय मशीन पर रिपॉजिटरी को क्लोन करने में सक्षम नहीं होंगे, एक त्रुटि प्राप्त होगी: "कृपया सुनिश्चित करें कि आपके पास सही पहुंच अधिकार हैं और रिपॉजिटरी मौजूद है" इसके बजाय। आपको पहले Gitea में अपनी स्थानीय मशीन की SSH कुंजी जोड़नी होगी। ऐसा करने के लिए, आउटपुट को कॉपी करें:
बिल्ली ~/.ssh/id_rsa.pub
अपने Gitea वेब इंटरफ़ेस में, अपने प्रोफ़ाइल चित्र पर क्लिक करें, फिर चुनें समायोजन> एसएसएच/जीपीजी कुंजियां. पर क्लिक करें कुंजी जोड़ें, और उस कुंजी को पेस्ट करें जिसे आपने अभी-अभी कॉपी किया है।
अब आप अपने स्वयं के रास्पबेरी पाई पर अपने स्वयं के Git सर्वर पर अपने स्वयं के Git रिपॉजिटरी के साथ बातचीत कर सकते हैं!
शानदार सॉफ़्टवेयर प्रोजेक्ट बनाने के लिए अपने गीता इंस्टेंस का उपयोग करें
गिट अद्भुत परियोजनाओं पर सहयोग करने के लिए एक शानदार उपकरण है, लेकिन एक टीम के बिना भी, यह आपके स्वयं के वर्कफ़्लो को व्यवस्थित करने और शानदार सॉफ़्टवेयर या कॉन्फ़िगरेशन बनाने के लिए शानदार है। नई प्रोग्रामिंग भाषा सीखते समय अपनी फ़ाइलों का ट्रैक रखने में सहायता के लिए इसका उपयोग करें या अपने डेस्कटॉप सिस्टम को सर्वश्रेष्ठ बनाने के लिए अनुकूलित करें।