This page is a translated version of the page Download from Git and the translation is 100% complete.

Git是一个分散式版本控制系統。 你可以下載源代碼的最新版本,並可選下載所有分支和已發佈的版本。

如果你是開發者並想要提交補丁,你應該從Git下載。

如果你開發軟件,只是安裝MediaWiki和其擴展,可以直接下載最新的Tar版本

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

先決條件

在您可以使用它前,您必须安装Git。有多种方式可以得到Git,取决于您的操作系统。 跟從Gerrit指南,或使用您最喜愛的搜索引擎。

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

使用Git下载MediaWiki

下載

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

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

下载以进行开发

MediaWiki最新开发版使用'master'分支。

首先確保您已經建立了開發者賬戶,並以此擁有一個ssh用戶名。

然後,在终端窗口,输入如下命令克隆存储库:

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

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

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

下載穩定分支

如果你不想開發軟件補丁包,但想匿名克隆穩定版本分支1.43,使用下方命令替代:

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

如果您的網路連線較差並希望增加克隆的修订版本数,在上方的命令git clone中添加--depth=1

MediaWiki标签(稳定版本)

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

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

git tag -l | sort -V

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

git checkout 1.43.0

更新Git子模組

各分支和标签有一系列Git子模块在其中,用于常用扩展和皮肤,以及vendor/目录。 master分支没有这些子模块。 要更新子模块,请运行:

cd mediawiki
git submodule update --init --recursive

获取外部库

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

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

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

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

保持最新

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

git pull

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

新版本的核心可能需要更新的扩展和皮肤,所以你必须进入扩展和皮肤的目录并用形如 git pull --recurse-submodules 的命令来更新。

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

composer update --no-dev

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

php maintenance/run.php update

如果你使用MediaWiki-Vagrant ,它有提供一个命令,vagrant git-update,将执行所有步骤。

切换到不同的版本

我们的每个版本都作为分支或标记进行跟踪。为了切换到另一个版本,例如,從master分支切換到另一個分支或標籤,在MediaWiki克隆目录中查看您想要的特定分支或标记:

git checkout <分支名>

git checkout <标签名>

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

使用Git下载MediaWiki扩展

git中的扩展列表

下载扩展

在下一行命令中,請將‎<EXT>替换为您希望下载的扩展的名称,不带空格。例如扩展:TitleKey ,它应为TitleKey。(区分大小写!)

从Git下载并克隆扩展:

使用您的开发者帐户,使用以下命令获取master分支:

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

若想克隆和签出稳定版本分支,请使用以下命令:

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

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

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


下载全部扩展

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

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

或者,如果要改为签出稳定版本分支,请使用以下命令:

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

执行了git clone命令后,继续输入以下命令:

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_42 origin/REL1_42 || :'

請記住,您應該只使用與該版本的「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和路径中使用skins而不是extensions

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

参见

附录

截至2019年3月21日14:26的修订更改了链接到 gerrit.wikimedia.org 的标准:

从:

gerrit.wikimedia.org/r/p/mediawiki

到:

gerrit.wikimedia.org/r/mediawiki
  NODES
Done 1