Завантажити з Git

This page is a translated version of the page Download from Git and the translation is 85% complete.
Outdated translations are marked like this.

Git — це розподілена система керування версіями. Вона дає змогу користувачу завантажити найновішу версію вихідного коду, з усіма відгалуженнями та позначеними релізами.

Якщо ви розробник і хотіли би пропонувати власні патчі, вам слід клонувати Git-репозиторій програмного забезпечення.

Якщо ж ви не плануєте брати участь у розробці, а хотіли б лише встановити MediaWiki та її розширення, просто завантажте архів стабільного релізу.

Див. Git для детальнішої інформації, в тому числі про те, як зробити свій внесок. Нижче наведено кілька прямих відсилань до кількох поширених завдань.

Передумови

Перед тим, як використовувати Git, ви маєте його встановити. Є чимало різних способів це зробити, вибір залежить від вашої операційної системи. Ось один із посібників про встановлення Git, але ви можете знайти й інші в Інтернеті.

Рекомендується, щоб у Вас був встановлений Composer для завантаження та встановлення сторонніх бібліотек, проте це не обов'язково.

Використання Git для завантаження MediaWiki

Завантаження

Ви можете завантажити ядро MediaWiki з допомогою Git, а також усі розширення, встановлені зараз на кластері серверів Фонду Вікімедіа, та багато інших розширень, що розміщені на Gerrit .

Перший крок — клонувати кореневий репозиторій MediaWiki. Це займе деякий час.

Завантаження для розробки

Гілка «master» містить найновішу версію MediaWiki, яка перебуває в розробці.

Спочатку пересвідчіться, що у вас є обліковий запис розробника, аби мати ім'я користувача ssh.

Відтак у вікні терміналу введіть таку команду з вашим ssh {{$1|USERNAME}} для клонування, аби мати можливість надсилати патчі для оцінки досвідченішими розробниками:

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

Це клонує (копіює) увесь репозиторій ядра MediaWiki, синхронизований з гілкою «master», у підкаталог з назвою mediawiki.

Аби встановити в іншу директорію, змініть це в командному рядку (подробиці в цьому документі). Щойно репозиторій клоновано, ви можете перемикатися до інших гілок чи тегів. Гілка розробників, master, містить найновішу версію MediaWiki з усіма новими змінами; код з неї в жодному разі не слід застосовувати на веб-сайті, бо він розглядається як нестабільний.

Завантаження стабільної гілки

Якщо ви не плануєте брати участь в розробці, а хотіли б лише анонімно клонувати стабільну версію (гілку релізу) 1.42, застосуйте натомість таку команду:

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

Якщо у вас повільне Інтернет-з'єднання або обмежений трафік, ви можете зменшити кількість клонованих версій, додавши --depth=1 до команди git clone.

Теги MediaWiki (стабільна версія)

Крім того, окремі стабільні версії MediaWiki позначено мітками («tags»). Вони подібні до tar-архівів з вихідним кодом. Наразі розрізняють 1.42.3 (стабільну), 1.39.10 (з довгим терміном підтримки) та 1.39.10 (успадковану з довгим терміном підтримки) версії.

Ви можете побачити всі наявні позначки в такий спосіб:

git tag -l | sort -V

Для перемикання на версію із певним тегом, приміром, до найновішого стабільного релізу:

git checkout 1.42.3

Оновлення модулів Git

Гілки містять посилання на багато модулів, — це, зокрема, популярні розширення та скіни (основна гілка «master» такого не містить). Оновити модулі можна командою: The master branch does not have these. To update the submodules, run:

cd mediawiki
git submodule update --init --recursive

Вибірка зовнішніх бібліотек

MediaWiki використовує Composer для керування зовнішніми бібліотеками PHP, які зрештою опиняються в піддиректорії vendor/ вашої установки MediaWiki.

Щоб встановити ці необхідні бібліотеки, Ви можете вибрати:

  • Завантажити і встановити composer PHAR, опціонально перейменувати файл composer.phar згідно з інструкцією для вашої операційної системи, й тоді запустити composer update --no-dev з директорії, в яку встановлено MediaWiki. Рекомендовано саме такий підхід.
    • 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 чи хочете використати той самий набір бібліотек, який використано на виробничому кластері Фонду Вікімедіа, то можете натомість створення директорію vendor/ всередині кореневої директорії Вашої інсталяції MediaWiki:
    git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
    • Зверніть увагу: якщо хоча б одне з установлених вами розширень має власні вимоги до Composer, то у вас не вийде застосувати цю схему.

До MediaWiki 1.25 зовнішні бібліотеки зберігалися в репозиторії ядра і потреби в менеджері пакетів не було.

Своєчасне оновлення

Якщо Ви використовуєте певну гілку або основну версію розробки (гілку «master») MediaWiki, оновлення репозиторію відносно просте. Перейдіть до своєї директорії MediaWiki (куди відбувалося клонування) і виконайте команду:

git pull

До вашої локальної версії коду буде внесено всі нові зміни використовуваної вами гілки.

Нова версія ядра може вимагати новіших версій розширень і тем оформлення, тому Ви маєте перейти у кожну директорію розширень і тем й оновити її командою на зразок git pull --recurse-submodules.

Вам також слід оновити vendor/ до новіший версій необхідних бібліотек. Часто для цього достатньо виконати таку команду Composer (але погляньте #Вибірка зовнішніх бібліотек вище за подробицями):

composer update --no-dev

Після оновлення ядра та необхідних бібліотек слід виконати скрипт MediaWiki update.php з командного рядку, щоб відповідним чином оновити таблиці бази даних:

php maintenance/run.php update

Якщо Ви використовуєте MediaWiki-Vagrant , там є єдина команда, vagrant git-update, що виконує усі ці кроки.

Як перемкнутися на іншу версію

Кожна з наших версій відслідковується за допомогою або окремих гілок, або тегів. Щоб перемкнутися на таку версію (прикладом, з гілки master на іншу гілку чи тег), слід у Вашій локальній копії репозиторію MediaWiki виконати «checkout» із зазначенням бажаної гілки або тегу:

git checkout <назва_гілки>

або

git checkout <назва_тегу>

Зміни буде застосовано автоматично.

Використання Git для завантаження розширень MediaWiki

Список розширень з git

Завантаження розширення

В наступних командах ‎<EXT> слід замінити назвою розширення, яке Ви хочете завантажити, без пропусків. Так, для Extension:TitleKey це має бути TitleKey (чуттєво до регістру літер!)

Клонування (завантаження) розширення з Git-репозиторію:

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

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

To clone and checkout a stable release branch instead, use these commands:

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

Ви можете переглянути вихідний код розширення у програмі Gerrit's gitiles та за посиланням:

https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/HEAD


Завантажити всі розширення

Якщо Ви хочете скопіювати на свій комп'ютер усі розширення MediaWiki, доступні на gerrit.wikimedia.org, введіть таке:

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

Or, to checkout stable releases branch instead, use this command:

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

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_41 origin/REL1_41 || :'

Пам'ятайте, що слід використовувати саме ті версії розширень, які належать до відповідного релізу MediaWiki.

Аби відслідковувати основну гілку «master»:

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

Зверніть увагу, що в жодному разі не слід використовувати код із основної гілки «master» на веб-сайті, оскільки він розглядається як нестабільний.

Якщо Вам потрібен checkout у режимі лише для читання (наприклад, для обробки grep чи аналізу всього коду MediaWiki), Ви можете скористатися загальнодоступним MediaWiki checkout на Labs без завантаження чого-небудь на свої машини.

Вилучення розширення

  1. Видаліть «require_once …» чи «wfLoadExtension( … )» із LocalSettings.php
  2. Видаліть будь-які рядки, де в composer.local.json згадується це розширення (зазвичай у розділі «extra → merge-plugin → include»)
  3. Видаліть каталог розширення із install-dir/extensions/

Використання Git для завантаження тем оздоблення MediaWiki

Список тем оформлення у git

Починаючи з MediaWiki 1.24, теми оздоблення не включено до стандартного Git-завантаження.

Виконайте ті самі кроки, що й для розширень (описані в попередньому розділі), але використовуйте у всіх URL-посиланнях та шляхах skins замість extensions.

Детальні інструкції з інсталяції кожної теми оздоблення доступні тут на MediaWiki.org, приміром, Skin:Vector#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