从Git下载
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.42,使用下方命令替代:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_42 mediawiki
如果您的網路連線較差並希望增加克隆的修订版本数,在上方的命令git clone
中添加--depth=1
。
MediaWiki标签(稳定版本)
另外,特定的MediaWiki稳定版本使用“标签”进行跟踪。这些和打包更新类似。 目前有1.42.4(稳定版)、1.39.11(LTS)和1.39.11(既往LTS版本)。
您可以这样查看所有可用标签:
git tag -l | sort -V
要使用特定标签,例如最新稳定发行版本:
git checkout 1.42.4
更新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
来指定它。
- 如果默认的PHP CLI版本与Web服务器的PHP版本不一致,请用例如
- 或如果您不想使用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扩展
下载扩展
- 在下一行命令中,請將
<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_42
您可以在 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_42
执行了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_41 origin/REL1_41 || :'
請記住,您應該只使用與該版本的「MediaWiki」相同的版本的擴展版本及類似版本。
要追踪主线分支:
git submodule foreach 'git checkout -b origin/master || :'
请注意您不应将主线代码用于任何不被考虑为稳定情况的产品。
如果您只需要一个只读的结帐(例如,打印或分析所有MediaWiki代码),您可以使用在实验室上共享的MediaWiki结帐,而无需在计算机上下载任何内容。
移除一个扩展
- 从
LocalSettings.php
中移除“require_once …
”或“wfLoadExtension( … )
” - 移除包含引用
composer.local.json
的扩展的行 (通常在"extra → merge-plugin → include" 章节) - 移除
install-dir/extensions/
的目录扩展
使用Git下载MediaWiki皮肤
从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