गिट से डाउनलोड करें

From mediawiki.org
This page is a translated version of the page Download from Git and the translation is 99% complete.

गिट एक वितरित संस्करण नियंत्रण प्रणाली है। इससे आप स्रोत कोड के नवीनतम संस्करण को सभी शाखाओं और टैग किए गए प्रकाशनों के विकल्प के साथ डाउनलोड कर सकते हैं।

अगर आप एक विकासक हैं और पैच प्रस्तुत करना चाहते हैं, आपको गिट से डाउनलोड करना चाहिए।

अगर आप विकसित नहीं करना चाहते हैं और बस मीडियाविकि एक्सटेंशनों को स्थापित ही करना चाहते हैं, इसके बजाय स्थिर tarball प्रकाशन ही डाउनलोड करें

और जानकारी, खासकर योगदान देने के बारे में, के लिए गिट देखें। नीचे कुछ साधारण कार्यों की विधियाँ हैं।

पूर्व अपेक्षित गुण

गिट का इस्तेमाल करने से पहले आपको इसे स्थापित करना होगा। आपके ऑपरेटिंग सिस्टम के अनुसार गिट पाने के कई तरीके हैं। Gerrit/Tutorial#Set up Git का पालन करें, या फिर अपने पसंदीदा खोज इंजन का इस्तेमाल करें।

यह सुझाव की जाती है कि आप तृतीय-पक्ष लाइब्रेरियों को डाउनलोड करने और स्थापित करने के लिए Composer स्थापित कर लें, लेकिन इसकी आवश्यकता नहीं है।

मीडियाविकि डाउनलोड करने के लिए गिट का उपयोग करना

डाउनलोड करें

आप मीडियाविकि मूल को गिट की मदद से डाउनलोड कर सकते हैं, साथ ही वर्तमान में विकिमीडिया संस्थान के सर्वर क्लस्टर पर स्थापित सभी एक्सटेंशन और gerrit पर होस्ट किए गए कई अन्य एक्सटेंशन भी।

पहला कदम है मीडियाविकि मूल रिपॉज़िटरी को क्लोन करना। इसमें कुछ समय लग जाएगा।

विकास के लिए डाउनलोड करें

मीडियाविकि के आखिरी विकास संस्करण को 'master' शाखा में ट्रैक किया जाता है।

पहले सुनिश्चित करें कि आपने एक विकासक खाता बनाया है, ताकि आपको एक ssh सदस्यनाम मिल जाए।

उसके बाद अपने ssh <सदस्यनाम> से क्लोन करने के लिए टर्मिनल विंडो में यह कमांड डालें ताकि आप पुनरीक्षण के लिए पैच प्रस्तुत कर पाएँ:

git clone ssh://<सदस्यनाम>@gerrit.wikimedia.org:29418/mediawiki/core.git mediawiki

यह पूरे मीडियाविकि रिपॉज़िटरी को master शाखा से सिंक करके mediawiki नामक सब-डिरेक्ट्री में क्लोन कर लेता है।

किसी दूसरे डिरेक्ट्री में स्थापित करने के लिए, उसे कमांड लाइन पर बदल दें (और जानकारी के लिए ये प्रलेख देखें)। जब रिपॉज़िटरी क्लोन हो जाती है, आप अलग-अलग शाखाओं और टैग्स को छाँट सकते हैं। विकास शाखा, master, मीडियाविकि का विकास संस्करण है; आपको किसी भी हाल में उत्पादन के लिए master कोड का इस्तेमाल नहीं करना चाहिए क्योंकि इसे स्थिर नहीं माना जाता।


एक स्थिर शाखा डाउनलोड करें

अगर आप सॉफ़्टवेयर पैच को विकसित नहीं करना चाहते पर स्थिर प्रकाशन शाखा 1.38 को गुमनाम होकर क्लोन करना चाहते हैं, इस कमांड का इस्तेमाल करें:

git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_38 mediawiki

अगर आपके इंटरनेट कनेक्शन की गति धीमी है और आप क्लोन होने वाले संस्करणों संख्या को कम करना चाहते हैं, git clone कमांड पर --depth=1 जोड़ें।

मीडियाविकि टैग्स (स्थिर संस्करण)

वैकल्पिक रूप से, मीडियाविकि के विशिष्ट स्थिर संस्करणों को 'टैग्स' की मदद से ट्रैक किया जाता है। ये tarball प्रकाशनों से अलग होते हैं। वर्तमान में, ये हैं 1.38.2 (स्थिर), 1.35.7 (LTS) और 1.35.7 (विरासती LTS)।

आप इसकी मदद से उपलब्ध टैग्स देख सकते हैं:

git tag -l | sort -V

विशिष्ट टैग्स, जैसे आखिरी स्थिर प्रकाशन, का उपयोग करने के लिए:

git checkout 1.38.2

गिट सबमॉड्यूल्स को अपडेट करें

इन शाखाओं में vendor/ डिरेक्ट्री के प्रसिद्ध एक्सटेंशनों और स्किन्स के लिए कई गिट सबमॉड्यूल्स हैं। master शाखा में ये नहीं हैं। सबमॉड्यूल्स को अपडेट करने के लिए चलाएँ:

cd mediawiki
git submodule update --init --recursive

बाहरी लाइब्रेरी प्राप्त करें

मीडियाविकि बाहरी PHP लाइब्रेरियों को प्रबंधित करने के लिए Composer का इस्तेमाल करती है, जो सभी आपके मीडियाविकि डिरेक्ट्री के vendor/ डिरेक्ट्री में चले जाते हैं।

इन आवश्यक लाइब्रेरियों को स्थापित करने के लिए आपके पास एक विकल्प है:

  • composer PHAR को डाउनलोड करके स्थापित करें, वैकल्पिक रूप से अपने OS के विधि के अनुसार composer.phar का नाम बदलें, और फिर अपने मीडियाविकि डिरेक्ट्री से composer update --no-dev चलाएँ। यही विकल्प सुझाया जाता है।
    • If the default PHP CLI version does not match the web server's PHP version, specify it with e.g. php7.4 composer.phar update --no-dev.
  • अगर आप Composer का उपयोग नहीं करना चाहते हैं, या यदि आप WMF उत्पादन क्लस्टर पर इस्तेमाल होने वाले वेंडर लाइब्रेरियों के सेट का ही उपयोग करना चाहते हैं, तो आप इसके बजाय आप अपने मीडियाविकि स्थापना के कोर फोल्डर में एक vendor/ डिरेक्ट्री बना सकते हैं:
    • With your developer account, use this command: git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/vendor.git
    • For anonymous checkout, use this command: git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
    • ध्यान रखें कि अगर आपके किसी भी एक्सटेंशन की अपनी Composer की ज़रूरतें हैं, आप इस विकल्प का उपयोग नहीं कर सकते

मीडियाविकि 1.25 से पहले, कुछ बाहरी लाइब्रेरियों को मूल रिपॉज़िटरी में रखा जाता था और किसी पैकेज प्रबंधक की कभी ज़रूरत ही नहीं पड़ी।

अद्यत रखें

अगर आप मीडियाविकि के किसी विशिष्ट शाखा के विकास संस्करण ("master" शाखा) का इस्तेमाल कर रहे हैं, नवीनतम बदलावों को पाना काफ़ी आसान है। अपने मीडियाविकि क्लोन डिरेक्ट्री पर जाएँ और इस कमांड का उपयोग करें:

git pull

आप जिस शाखा का उपयोग कर रहे हैं, उसके सभी नवीनतम बदलाव लागू कर दिए जाएँगे।

कोर के नए संस्करण में आपको एक्सटेंशन और स्किन्स के नए संस्करणों की ज़रूरत पड़ सकती है, तो आपको स्किन डिरेक्ट्री के हर एक्सटेंशन में जाकर git pull --recurse-submodules जैसे कमांड की मदद से उन्हें अपडेट करना होगा।

आपको आवश्यक लाइब्रेरियों के साथ आवश्यक लाइब्रेरियों के नवीनतम संस्करणों के साथ vendor/ को अपडेट करने की भी ज़रूरत पड़ सकती है। इसका मतलब अकसर यह भी होता है कि Composer कमांड को भी चलाना पड़ता है, पर और जानकारी के लिए ऊपर #बाहरी लाइब्रेरी प्राप्त करें देखें।

composer update --no-dev

कोड और आवश्यक लाइब्रेरियों को अपडेट करने के बाद मीडियाविकि update.php कमांड-लाइन स्क्रिप्ट का इस्तेमाल करके डेटाबेस को अपडेट करें:

php maintenance/update.php

अगर आप MediaWiki-Vagrant का उपयोग करते हैं, इसमें एक ही कमांड है, vagrant git-update, जो ये काम करता है।

दूसरे संस्करण में बदलना

हमारे हर संस्करण को शाखाओं और टैग्स की मदद से ट्रैक किया जाता है। दूसरे संस्करण में बदलने के लिए (उदाहरणस्वरूप master शाखा से किसी दूसरी शाखा पर), अपने मीडियाविकि क्लोन रिपॉज़िटरी में उस शाखा पर जाएँ जो आपको चाहिए।

git checkout <शाखा_का_नाम>

या

git checkout <टैग_का_नाम>

इन बदलावों को अपने आप लागू कर दिया जाएगा और आप चलने के लिए तैयार होंगे।

मीडियाविकि एक्सटेंशन डाउनलोड करने के लिए गिट का उपयोग करना

गिट पर एक्सटेंशनों की सूची

एक एक्सटेंशन डाउनलोड करें

अगले कमांड्स में ‎<EXT> को उस एक्सटेंशन के नाम से बदलें जिसे आप डाउनलोड करना चाहते हैं। Extension:TitleKey के लिए यह TitleKey होगा। (यह केस संवेदनशील है!)

गिट से एक्सटेंशन को डाउनलोड करके क्लोन करें:

With your developer account, use these commands to get the master branch:

cd /path/to/extensions
git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions/<EXT>

For anonymous checkout of the stable branch instead, use these commands:

cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT> --branch REL1_38

आप Gerrit के gitiles ऐप्लिकेशन में एक्सटेंशों के स्रोत कोड को देख सकते हैं, और इस URL पर भी:

https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/refs/heads/master

सभी एक्सटेंशन डाउनलोड करें

अगर आपको वह हर एक्सटेंशन चाहिए जिन्हें gerrit.wikimedia.org ने आपके मशीन में डाले हैं, यह डालें:

With your developer account, to get the master branch:

git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions

For anonymous checkout of the stable branch instead, use this command:

git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_38

After running the git clone command, continue with these commands:

cd /path/to/extensions
git submodule update --init --recursive

किसी भी समय पर, सभी एक्सटेंशनों को डाउनलोड करने के लिए, यह डालें:

cd /path/to/extensions
git pull
git submodule update --init --recursive

किसी दूसरे शाखा में बदलने के लिए, जैसे किसी नए प्रकाशन के बाद:

git submodule foreach 'git checkout -b REL1_37 origin/REL1_37 || :'

याद रखें कि आपको बस उसी संस्करण के एक्सटेंशनों का इस्तेमाल करना चाहिए जिसमें मीडियाविकि है।

master शाखा को ट्रैक करने के लिए:

git submodule foreach 'git checkout -b origin/master || :'

कृपया ध्यान रखें कि आपको किसी भी हाल में उत्पादन के लिए master कोड का इस्तेमाल नहीं करना चाहिए क्योंकि इसे स्थिर नहीं माना जाता।

अगर आपको एक केवल-पठनीय चेकआउट चाहिए (अगर आप सिर्फ कोड को देखना चाहते हैं), आप Labs पर शेयर किए गए मीडियाविकि चेकआउट को देख सकते हैं और आपको अपने मशीन पर कुछ भी डाउनलोड करने की ज़रूरत नहीं होगी।

एक एक्सटेंशन हटाएँ

  1. LocalSettings.php से "require_once …" या "wfLoadExtension( … )" हटाएँ
  2. कोई भी ऐसी पंक्ति को हटाएँ जो composer.local.json पर एक्सटेंशन का सन्दर्भ है (ज़्यादातर "extra → merge-plugin → include" अनुभाग में)
  3. install-dir/extensions/ से एक्सटेंशन की डिरेक्ट्री को हटाएँ

मीडियाविकि स्किन डाउनलोड करने के लिए गिट का उपयोग करना

गिट पर स्किन्स की सूची

मीडियाविकि 1.24 और उसके बाद से गिट पर स्किन्स नहीं हैं।

एक्सटेंशन की ही विधि का पालन करें (जैसा पिछले अनुभाग में बताया गया है), पर हर URL और पाथ पर extensions की जगह skins का इस्तेमाल करते हुए।

स्थापना की विस्तृत विधि यहाँ MediaWiki.org पर हर स्किन के पृष्ठ पर मौजूद है, उदाहरण के लिए स्किन:वेक्टर#स्थापना देखें। हर स्किन के स्थापना की विधि उसी पर आधारित है।

ये भी देखें

  • Intranet/Intranet Installation, जो मीडियाविकि के उपयोग के लिए गिट का इस्तेमाल करने वाले पृष्ठों का एक समूह है।

Appendix

The Revision as of 14:26, 21 March 2019 changed the standard of linking to gerrit.wikimedia.org:
from:

gerrit.wikimedia.org/r/p/mediawiki

to:

gerrit.wikimedia.org/r/mediawiki