从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 85% complete.

Outdated translations are marked like this.
Other languages:
aragonés • ‎العربية • ‎asturianu • ‎تۆرکجه • ‎беларуская (тарашкевіца)‎ • ‎български • ‎català • ‎čeština • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎Esperanto • ‎español • ‎euskara • ‎فارسی • ‎suomi • ‎français • ‎galego • ‎Hawaiʻi • ‎עברית • ‎हिन्दी • ‎hrvatski • ‎magyar • ‎Հայերեն • ‎interlingua • ‎Bahasa Indonesia • ‎Interlingue • ‎italiano • ‎日本語 • ‎ქართული • ‎Taqbaylit • ‎한국어 • ‎kurdî • ‎Lëtzebuergesch • ‎lietuvių • ‎Bahasa Melayu • ‎Napulitano • ‎norsk bokmål • ‎नेपाली • ‎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可以更快的发行,同时让安装版本升级、回滚升级和提交Bug更方便。(当然官方发布版更稳定。)

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

开始之前

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

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

使用Git下载MediaWiki

下载

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

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

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

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

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

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

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

That the release branches have a bunch of Git submodules in them, for commonly-used extensions and skins (the master branch does not have these). To update the submodules, run:

cd install-dir
git submodule update --init

下载以进行开发

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

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

获取外部库

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

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

  • 下载并安装composer,切换到您的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稳定版本使用'标签'进行跟踪. 这和从 web 下载的版本类似. 使用以下的命令查看可用的版本:

You can see all available tags with:

git tag -l | sort -V

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

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

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

git checkout 1.31.0


MediaWiki最新开发版本

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

git checkout master


保持最新

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

git pull

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

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

你也需要上传mediawiki/vendor给所有更新的版本的所需库,看#Fetch external libraries

composer update --no-dev

在更新/升级以后如有需要,您应该运行MediaWiki update.phpManual: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>.git --branch REL1_31

开发者使用以下命令:

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

您可以在Phabricator的diffusion应用程序和URL中查看扩展源代码:

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

下载全部扩展

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

git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions.git --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 || :'

Remember that you should only use versions of extensions from the same release as that version of MediaWiki and each other.

要追踪主线分支:

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。其他皮肤的安装教程同理。

参见