从Git下载

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

Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Bahasa Melayu • ‎Deutsch • ‎English • ‎Esperanto • ‎Hawaiʻi • ‎Interlingue • ‎Lëtzebuergesch • ‎Napulitano • ‎Nederlands • ‎Scots • ‎Taqbaylit • ‎Tiếng Việt • ‎Türkçe • ‎aragonés • ‎asturianu • ‎català • ‎dansk • ‎español • ‎euskara • ‎français • ‎galego • ‎interlingua • ‎italiano • ‎kurdî • ‎lietuvių • ‎magyar • ‎norsk bokmål • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎sicilianu • ‎slovenčina • ‎suomi • ‎svenska • ‎čeština • ‎Ελληνικά • ‎беларуская (тарашкевіца)‎ • ‎български • ‎русский • ‎татарча/tatarça • ‎українська • ‎հայերեն • ‎ייִדיש • ‎עברית • ‎ئۇيغۇرچە • ‎العربية • ‎تۆرکجه • ‎سنڌي • ‎فارسی • ‎پښتو • ‎नेपाली • ‎हिन्दी • ‎தமிழ் • ‎తెలుగు • ‎ไทย • ‎ქართული • ‎中文 • ‎日本語 • ‎粵語 • ‎한국어
从 MediaWiki 1.19beta2, 1.18.2, 1.17.3起, MediaWiki核心部分与扩展开始使用Git版本管理软件。对于较旧的版本,请使用Subversion

Git是一个分布式版本控制软件,它允许用户获得最新的软件分支而不必等待应用开发者封包。 MediaWiki可以更快的发行,同时让安装版本升级、回滚升级和提交Bug更方便。(当然官方发布版更稳定。)

查看Git了解更多,特别是如何提交你对MediaWiki的更改,下面是一些常见任务的指南。

先決條件

在您可以使用它前,您必须安装Git。有多种方式可以得到Git,取决于您的操作系统。对于源代码和官方二进制,签出(check out)git-scm.com。对于安装Git的其它方式,使用您最喜爱的搜索引擎来找到适合您的操作系统的指导。

建议使用Composer下载安装第三方库,但非必需。

使用Git下载MediaWiki

下载

你可以在Gerrit 使用Git下载MediaWiki核心文件和在维基媒体基金会的服务器上使用的所有扩展。

第一步是克隆MediaWiki版本库,这需要一些时间。

在终端窗口中输入如下命令:

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

这用来克隆整个MediaWiki核心存储库(最初指向发行分支1.31)到名叫mediawiki的子目录。

要安装到不同目录中,可在命令行更改它(参见这些文档以获取更多信息)。一旦存储库被克隆,您可以很容易地切换到不同的分支或标签(参见下方),包括这些追踪不稳定的MediaWiki版本。开发分支master是绝对最新的MediaWiki开发者版本;您不应该将主线代码用于任何不被考虑为稳定情况的产品。

如果您希望增加克隆的修订版本数,在上方的命令中添加--depth=1

这样发行分支就有一系列Git子模块在其中,用于常用扩展和皮肤(主线分支没有它们)。要更新子模块,请运行:

cd mediawiki
git submodule update --init

下载以进行开发

如果您有开发者账户(容易申请),然后您不需要通过https匿名克隆,而是需要提供您的ssh“<用户名>”克隆,这样您可以提交更改以供复核:

git clone ssh://<用户名>@gerrit.wikimedia.org:29418/mediawiki/core.git mediawiki

这将整个MediaWiki核心存储库克隆到一个名为mediawiki的子目录中,该存储库同步于master分支。

获取外部库

MediaWiki使用composer管理外部PHP库,所有这些终究位于您的MediaWiki目录中vendor/库。

要安装这些需要的库,您有以下选项:

  • 下载安装composer PHAR包,可选择按照操作系统的指示重命名composer.phar文件,然后在MediaWiki目录下运行composer update --no-dev这是推荐的方法。
  • 或如果您不想使用Composer,或者如果你要使用与WMF生产集群中使用的相同的外部库,可以使用git clone https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git在MediaWiki安装的核心文件夹中创建 vendor/ 目录。注意如果您的任何扩展有其Composer要求,那么您不能使用此选项

在MediaWiki 1.25以前,外部库保留在核心存储库中,并且不需要包管理器。

MediaWiki标签(稳定版本)

另外,特定的MediaWiki稳定版本使用“标签”进行跟踪。这些和打包更新类似。目前有1.31.1(稳定版)、1.27.5(LTS)和1.30.1(既往版)。

您可以这样查看所有可用标签:

git tag -l | sort -V

如果你使用非GNU的sort命令(例如在Mac OS X上使用),那么你必须依靠良好的旧式分隔符:

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

要使用特定标签,例如最新稳定发行版本:

git checkout 1.31.1

MediaWiki最新开发版本

MediaWiki最新开发版使用'master'分支。这是你首次克隆MediaWiki版本库时的默认的本地签出操作。如果你曾切换到另一个分支,但是想切回MediaWiki的最前沿版本,那么请做如下操作:

git checkout master

保持最新

如果你正在使用MediaWiki的某个特定分支或者开发版本(master 分支),那么获取最新的变化是非常容易的。切换到MediaWiki的克隆目录,然后使用如下命令:

git pull

这个分支的最新更改会合并到你的版本库上。

新的核心版本可能需要更新的延伸和细节, 所以你必须进去延伸与细节的目录并用句子比方说 git pull --recurse-submodules 来上传。

你也需要上传vendor/给所有更新的版本的所需庫。這也意味著需要允許下列的「Composer」命令。另看#Fetch external libraries以查詢更多詳情。

composer update --no-dev

在更新/升级代碼和要求庫之後,如有需要,您应该运行MediaWiki update.php 命令行脚本以更新数据库表:

php maintenance/update.php

如果你使用MediaWiki-Vagrant/zh,这提供单向的命令,vagrant git-update,这样施行所有阶段。

切换到不同的版本

切换到MediaWiki的不同版本,用Git比用SVN更容易。每个版本都有分支和标签来跟踪。为了切换到其中的一个版本,你所要做的无非就是在你的MediaWiki的克隆目录下“签出”(checkout)到你需要的特定分支或标签。

git checkout <分支名>

git checkout <标签名>

更改会自动应用,您就一切准备好了。

使用Git下载MediaWiki扩展

git中的扩展列表

下载扩展

<EXT>应替换为您希望下载的扩展名称,不带空格。例如Extension:TitleKey,它应为TitleKey。(区分大小写!)

从Git下载并克隆扩展:

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

开发者可以这样克隆:

git clone ssh://<用户名>@gerrit.wikimedia.org:29418/mediawiki/extensions/<EXT> --branch REL1_31

您可以在 Gerrit's gitiles 应用程序和URL中查看扩展源代码:

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

下载全部扩展

如果您愿意在您的机器上,拥有在gerrit.wikimedia.org签出的所有MediaWiki扩展,请输入以下命令:

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

此后,要更新所有扩展至它们最新版本的分支,只需输入:

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

要更改为不同分支,例如在某个新的发行版本之后:

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

請記住,您應該只使用與該版本的「MediaWiki」相同的版本的擴展版本及類似版本。

要追踪主线分支:

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

请注意您不应将主线代码用于任何不被考虑为稳定情况的产品。

如果您只需要一个只读的结帐(例如,打印或分析所有MediaWiki代码),您可以使用在实验室上共享的MediaWiki结帐,而无需在计算机上下载任何内容。

移除一个扩展

  1. LocalSettings.php中移除“require_once …”或“wfLoadExtension( … )
  2. 移除任何在composer.local.json引用扩展的行(通常在“extra → merge-plugin → include”节)
  3. install-dir/extensions/移除扩展目录

使用Git下载MediaWiki皮肤

git中的所有皮肤列表

从Git下载的MediaWiki 1.24及以后的版本不再包含皮肤。

按照与扩展(前面部分所述)完全相同的过程,但在所有URL和路径中使用skin而不是extensions

详细的皮肤安装指南可以在各自的描述页上找到,例如Vector:Skin:Vector#Installation。其他皮肤的安装教程同理。

参见