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

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Download from Git and the translation is 91% complete.

Other languages:
aragonés • ‎العربية • ‎asturianu • ‎تۆرکجه • ‎беларуская (тарашкевіца)‎ • ‎български • ‎català • ‎čeština • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎Esperanto • ‎español • ‎euskara • ‎فارسی • ‎suomi • ‎français • ‎galego • ‎Hawaiʻi • ‎עברית • ‎magyar • ‎Հայերեն • ‎Bahasa Indonesia • ‎Interlingue • ‎italiano • ‎日本語 • ‎ქართული • ‎Taqbaylit • ‎한국어 • ‎Lëtzebuergesch • ‎lietuvių • ‎Bahasa Melayu • ‎Napulitano • ‎नेपाली • ‎Nederlands • ‎occitan • ‎polski • ‎پښتو • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎sicilianu • ‎Scots • ‎سنڌي • ‎slovenčina • ‎српски / srpski • ‎svenska • ‎தமிழ் • ‎తెలుగు • ‎ไทย • ‎Türkçe • ‎татарча/tatarça • ‎ئۇيغۇرچە • ‎українська • ‎Tiếng Việt • ‎ייִדיש • ‎粵語 • ‎中文
Починаючи з MediaWiki 1.19beta2, 1.18.2, 1.17.3, ядро та розширення MediaWiki використовують Git для контролю версії. Для старіших версій див. Subversion

Git — розподілене програмне забезпечення керування версіями, яке дозволяє користувачам завантажувати найсвіжішу версію гілки без очікування на когось, хто її упакує. MediaWiki випускається швидше, і вам легше оновлювати своє встановлення, відкочувати оновлення чи надсилати патчі. (Звичайно ж, пам'ятайте, що офіційні стабільні релізи менш ризиковані.)

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

Передумови

Перед тим, як використовувати Git, ви маєте його встановити. Є чимало різних способів це зробити, вибір залежить від вашої операційної системи. Вихідні коди і офіційні двійкові файли можна знайти на git-scm.com. Для альтернативних способів встановлення Git, скористайтесь своїм улюбленим пошуковиком і знайдіть інструкції під свою операційну систему.

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

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

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

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

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

У вікні терміналу введіть таку команду:

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

Це клонує весь репозиторій ядра MediaWiki у субдиректорію під назвою core. Щоб встановити в певну директорію, додайте це до командного рядка (більше інформації див. у цій документації). Гілкою (branch) за замовчуванням буде master, найновіша, розробницька версія MediaWiki. Як тільки репозиторій клоновано, Ви можете легко перемкнутися на інші гілки чи теґи (див. нижче), у тому числі на стабільних весіях MediaWiki.

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

Якщо у Вас є доступ розробника (на який легко подати запит), тоді замість клонувати анонімно з https Вам треба клонувати зі своїм ssh <USERNAME>, щоб Ви могли подавати зміни на розгляд:

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

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

Починаючи з MediaWiki 1.25 деяких зовнішніх бібліотек, потрібних для MediaWiki, немає у цьому «кореневому» git-репозиторії. Для керування ними ми використовуємо composer. Щоб встановити ці необхідні бібліотеки, Ви можете вибрати:

  • Завантажити і встановити composer, перемкнутися на свою кореневу директорію, і тоді запустити composer install --no-dev. Зверніть увагу, що якщо у Вас є файл composer.lock, то слід натомість запустити composer update --no-dev.
  • Якщо Ви не бажаєте використовувати composer або якщо Ви хочете використати той же набір бібліотек, який використано у виробничому кластері ФВМ, Ви можете натомість виконати git clone https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git для створення директорії vendor/ всередині кореневої папки Вашої інсталяції MediaWiki. Переконайтеся, що Ви використовуєте правильну гілку своєї версії MediaWiki (наприклад, REL1_25 для 1.25).

Певні версії MediaWiki

Гілки ФВМ

Віддалені гілки відслідковують версії MediaWiki на кластері серверів Фонду Вікімедіа. Вони можуть бути не зовсім стабільні, але баґи у них виправляються дуже швидко і загалом вони досить стабільні — зрештою, це те, що використовують головні проекти, на зразок Вікіпедії. Як тільки гілка REL* вважається «стабільною», ми «теґуємо» її і перетворюємо на tar-архівний випуск.

Щоб побачити доступні гілки, перемкніться на свою кореневу директорію MediaWiki і введіть таку команду:

git branch -r | sort -V

Основні релізи позначені як «origin/REL<release number>» (напр., «origin/REL1_29»). Щоб перемкнутися на конкретну гілку релізу:

git checkout -b REL<release number> origin/REL<release number>

Наприклад, щоб перемкнутися на поточну стабільну версію, 1.29.0, введіть:

git checkout -b REL1_29 origin/REL1_29
Мітки MediaWiki (стабільна версія)

Крім того, окремі стабільні версії MediaWiki позначено мітками ('tags'). Вони подібні до tar-архівів з вихідним кодом. Доступні версії можна знайти так:

git tag -l | sort -V

За відсутності GNU команди sort, як на Mac OS X, доведеться покластися на старі добрі розділювачі:

git tag -l | sort -n -t. -k1 -k2 -k3

Для перемикання на версію із міткою <tag name>:

git checkout <tag name>

Найновіша версія MediaWiki в процесі розробки

Гілка 'master' містить найновішу версію MediaWiki, яка перебуває в розробці. Саме вона завантажується за замовчуванням, коли ви вперше клонуєте репозиторій MediaWiki. Якщо ви перемкнулися на іншу гілку і хочете повернутися до найновішої версії, виконайте:

git checkout master


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

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

git pull

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

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

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

php maintenance/update.php

Вам також треба оновити mediawiki/vendor до будь-яких нових весій необхідних бібліотек, див. Вибірка зовнішних бібліотек.

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

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

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

git checkout <branchname>

або

git checkout <tag name>

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

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

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

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

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

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

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

Клонування для розробників:

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

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

https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/<EXT>.git;a=tree;h=refs/heads/master;hb=master

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

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

git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions.git
cd extensions
git submodule update --init --recursive

У подальному для оновлення усіх розширень до їх найновіших версій просто введіть:

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

Оновлення розширень до версій з певною міткою (REL1_23) гілки:

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

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

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

Просто вилучіть папку розширення і «require_once …» з LocalSettings.php.

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

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

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

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

Детальні інструкції з інсталяції кожної теми оздоблення доступні тут на MediaWiki.org, приміром, Skin:Vector#Installation. Так само можна знайти й інструкції для інших тем.

Див. також