Herunterladen von Git

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

Git ist ein System zur Verwaltung von verteilten Softwareversionen. Es ermöglicht das Herunterladen der letzten Version des inklusive aller und markierten Versionen ganz nach den eigenen Vorstellungen.

Der Download über Git sollte genutzt werden, wenn man ein Entwickler ist und Änderungen beitragen möchte.

Wenn man nichts entwickeln möchte, sondern nur MediaWiki und die Erweiterungen installieren möchte, sollte man ausgereifte und vollständige Versionen herunterladen.

Siehe Git für weitere Details, insbesondere, wenn es darum geht, zu Artikeln/Programmen beizutragen. Im Folgenden finden Sie einige kurze Anweisungen für manche häufig ausgeführte Aufgaben.

Voraussetzungen

Sie müssen Git installiert haben, bevor Sie es benutzen können. Es gibt viele Möglichkeiten, Git zu erwerben, abhängig von Ihrem Betriebssystem. Folgen Sie Gerrit/Tutorial#Set up Git, oder verwenden Sie Ihre bevorzugte Suchmaschine.

Es wird empfohlen, ist aber nicht zwingend notwendig, zuvor Composer installiert zu haben und Bibliotheken Dritter zu installieren.

MediaWiki mit Git herunterladen

Herunterladen

Mit Git können Sie den MediaWiki-core herunterladen wie auch alle Erweiterungen, die aktuell auf dem Wikimedia Foundation Serververbund installiert sind, ebenso viele andere Erweiterungen, die auf gerrit bereitgestellt werden.

Der erste Schritt ist das Klonen des MediaWiki-Core-Repositoriums. Dies kann eine Weile dauern.

Download für Entwickler

Die neueste Entwicklungsversion von MediaWiki wird im "Master"-Zweig nachverfolgt.

Stellen Sie zuerst sicher, dass Sie ein Entwicklerkonto erstellt haben, sodass Sie einen ssh-Benutzernamen haben.

Geben Sie in einem Befehlszeilenfenster folgenden Befehl ein, um mit Ihren ssh <BENUTZERNAME> zu klonen, damit Sie Patches zur Überprüfung einreichen können:

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

Dadurch wird das gesamte MediaWiki-Kernrepository, das mit dem Hauptzweig synchronisiert ist, in ein Unterverzeichnis mit dem Namen mediawiki geklont.

Um in ein anderes Verzeichnis zu installieren, änderen Sie den Befehl in der Kommandozeile (mehr Informationen unter [1]). Wenn das Repository kopiert wurde, können Sie einfach zu den unterschiedlichen Versionszweigen oder Tags wechseln (siehe unten), einschließlich solcher, die instabile Versionen von MediaWiki nachverfolgen. Der Entwicklungszweig, master, ist die neueste Entwicklerversion von MediaWiki. Sie sollten unter keinen Umständen den master-Code auf laufenden Systemen verwenden, da er nicht als stabil angesehen wird.


Einen stabilen Zweig herunterladen

Sollten Sie keine Software-Patches entwickeln wollen, sondern nur anonym eine Kopie vom stabilen Release-Branch 1.38 erstellen wollen, verwenden Sie dieses Kommando:

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

If you have a slow internet connection and want to reduce the number of revisions that are cloned, add --depth=1 to the git clone command.

MediaWiki tags (stable version)

Alternatively, specific stable versions of MediaWiki are tracked using 'tags'. These are analogous to the tarball releases. Currently, these are 1.38.4 (stable), 1.35.8 (LTS) and 1.35.8 (legacy LTS).

You can see all available tags with:

git tag -l | sort -V

To use a specific tag, e.g. the latest stable release:

git checkout 1.38.4

Update the Git submodules

The branches and tags have a bunch of Git submodules in them, for commonly-used extensions and skins and for the vendor/ directory. The master branch does not have these. To update the submodules, run:

cd mediawiki
git submodule update --init --recursive

Fetch external libraries

MediaWiki uses Composer to manage external PHP libraries, all of which end up in the vendor/ directory in your MediaWiki directory.

To install these needed libraries, you have a choice:

  • Download and install the composer PHAR, optionally rename the composer.phar file as instructed for your OS, and then run composer update --no-dev from your MediaWiki directory. This is the recommended approach.
    • If the default PHP CLI version does not match the web server's PHP version, specify it with e.g. php7.4 composer.phar update --no-dev.
  • Or, if you don't want to use Composer or if you want to use the exact same set of vendor libraries as used on the WMF production cluster, you can instead create a vendor/ directory inside the core folder of your MediaWiki installation:
    • With your developer account, use this command: git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/vendor.git
    • For anonymous checkout, use this command: git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
    • Note that if any of your extensions have their own Composer requirements, then you cannot use this option.

Prior to MediaWiki 1.25, external libraries were kept in the core repository, and no package manager was required.

Keeping up to date

If you're using a particular branch or the development version ("master" branch) of MediaWiki, picking up the latest changes is relatively easy. Change into your MediaWiki clone directory and issue this command:

git pull

All of the latest changes for the branch you are using will be applied.

The new version of core may require newer versions of extensions and skins, so you must go into each extension and skin directory and update it with a command like git pull --recurse-submodules.

You also need to update vendor/ with any newer versions of required libraries. This often means running the following Composer command, but see #Fetch external libraries above for more details:

composer update --no-dev

After updating/upgrading the code and required libraries you should run the MediaWiki update.php command-line script to update database tables as needed:

php maintenance/update.php

If you use MediaWiki-Vagrant , it offers a single command, vagrant git-update, that performs all these steps.

Switching to a different version

Each of our versions are tracked as branches or tags. In order to switch to a different version (for example from the master branch to a different branch or tag), checkout the particular branch or tag you want from within your MediaWiki clone directory:

git checkout <branch_name>

or

git checkout <tag_name>

The changes will be applied automatically and you will be all set to go.

Using Git to download MediaWiki extensions

Download an extension

In the next commands, replace ‎<EXT> with the name of the extension you want to download, without spaces. For Extension:TitleKey , it would be TitleKey. (case sensitive!)

Download and clone an extension from Git:

With your developer account, use these commands to get the master branch:

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

For anonymous checkout of the stable branch instead, use these commands:

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

You can view extension source code in Gerrit's gitiles application, and at the URL:

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

Download all extensions

If you prefer to have all MediaWiki extensions that are at gerrit.wikimedia.org checked out to your machine, enter the following:

With your developer account, to get the master branch:

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

For anonymous checkout of the stable branch instead, use this command:

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

After running the git clone command, continue with these commands:

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

At any time, to update all extensions to their latest versions of that branch, enter:

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

To change to a different branch, such as after a new release:

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

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

To track the master branch:

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

Please note that you should not use master code for production under any circumstances as it is not considered stable.

If you only need a read-only checkout (for instance to grep or analyse all MediaWiki code), you can use the shared MediaWiki checkout on Labs, without downloading anything on your machines.

Remove an extension

  1. Remove the "require_once …" or "wfLoadExtension( … )" from LocalSettings.php
  1. Remove any line referencing the extension in composer.local.json (usually in the "extra → merge-plugin → include" section)
  1. Remove the extension's directory in install-dir/extensions/

Using Git to download MediaWiki skins

MediaWiki 1.24 and later don't include skins in the Git download.

Follow the exact same procedure as for extensions (described in the previous section), but using skins rather than extensions in all URLs and paths.

Detailed installation instructions are available on each skin's page here on MediaWiki.org, for example see Skin:Vector#Installation. Instructions for all other skins are analogous.

See also

Appendix

The Revision as of 14:26, 21 March 2019 changed the standard of linking to gerrit.wikimedia.org:
from:

gerrit.wikimedia.org/r/p/mediawiki

to:

gerrit.wikimedia.org/r/mediawiki