Herunterladen von Git
Git ist ein freies und quelloffenes 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 findest Du einige kurze Anweisungen für manche häufig ausgeführte Aufgaben.
Voraussetzungen
Du musst Git installiert haben, bevor Du es benutzen kannst. Es gibt viele Möglichkeiten, Git zu erwerben, abhängig von Deinem Betriebssystem. Folge Gerrit/Tutorial#Set up Git, oder verwende deine 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 kannst Du 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.
Stelle zuerst sicher, dass du ein Entwicklerkonto erstellt hast, sodass du einen ssh-Benutzernamen hast.
Gib dann in einem Befehlszeilenfenster folgenden Befehl ein, um das Repository zu klonen:
git clone https://gerrit.wikimedia.org/r/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, ändere den Befehl in der Kommandozeile (mehr Informationen unter [1]).
Wenn das Repository kopiert wurde, kannst du 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. Du solltest unter keinen Umständen den master
-Code auf laufenden Systemen verwenden, da er nicht als stabil angesehen wird.
Einen stabilen Zweig herunterladen
Solltest du keine Software-Patches entwickeln wollen, sondern nur anonym eine Kopie vom stabilen Release-Branch 1.42 erstellen wollen, verwende dieses Kommando:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_42 mediawiki
Wenn du die Anzahl der Überarbeitungen, die kopiert wurden, reduzieren möchtest, füge --depth=1
zu obigem Befehl hinzu.
MediaWiki-Tags (stabile Version)
Alternativ können bestimmte stabile Versionen von MediaWiki mithilfe von "Tags" nachverfolgt werden. Diese sind analog zu den Tarball-Veröffentlichungen. Derzeit sind dies 1.42.1 (stabil), 1.39.8 (LTS) und 1.39.8 (legacy).
Du kannst alle verfügbaren Tags sehen mit:
git tag -l | sort -V
Um einen spezifischen Tag zu benutzen, z. B. die neueste stabile Version:
git checkout 1.42.1
Aktualisiere die Git-Submodule
Die Zweige und Tags enthalten eine Reihe von Git-Submodulen für häufig verwendete Erweiterungen und Skins und für das vendor/
-Verzeichnis.
Der master
-Zweig hat diese nicht.
Um die Submodule zu aktualisieren, führe aus:
cd mediawiki
git submodule update --init --recursive
Externe Bibliotheken abrufen
MediaWiki benutzt Composer , um die externen PHP-Bibliotheken zu verwalten, die allesamt im vendor/
-Ordner deines MediaWiki-Ordners liegen.
Um diese benötigten Bibliotheken zu installieren, hast Du folgende Möglichkeiten:
- Lade das "composer PHAR" herunter, benenne es gegebenenfalls entsprechend der Anleitung für dein Betriebssystem um und führe anschließend
composer update --no-dev
in deinem MediaWiki-Verzeichnis aus. Dies ist die empfohlene Vorgehensweise.- Wenn die Standard-PHP-CLI-Version nicht der der PHP-Version des Webservers übereinstimmt, gebe es mit z.B. mit
php7.4 composer.phar update --no-dev
an.
- Wenn die Standard-PHP-CLI-Version nicht der der PHP-Version des Webservers übereinstimmt, gebe es mit z.B. mit
- Wenn Du Composer nicht verwenden willst, oder wenn Du dasselbe Set von Anbieterbibliotheken verwenden willst, das auf dem WMF-Produktionscluster verwendet wird, dann erstelle ein
vendor/
-Verzeichnis im Hauptverzeichnis Deiner MediaWiki-Installation:git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
- Beachte: Wenn irgendwelche Deiner Erweiterungen ihre eigenen Composer-Anforderungen haben, dann kannst Du diese Option nicht verwenden.
Vor MediaWiki 1.25 wurden externe Bibliotheken im Core-Repository gespeichert, deshalb war kein Paketmanager erforderlich.
Bleibe auf dem Laufenden
Wenn Du einen bestimmten Zweig oder die Entwicklungsversion ("Masterzweig") von MediaWiki benutzt, ist es ziemlich einfach, die letzten Änderungen abzurufen. Wechsle zu Deinem MediaWiki Klon-Verzeichnis und gib diesen Befehl ein:
git pull
Alle aktuellen Änderungen werden auf den Zweig angewendet, den Du benutzen wirst.
Die neue Version von Core kann neue Versionen der Erweiterungen oder Oberflächen erfordern, sodass Du in jedes Erweiterungs- und Oberflächen-Verzeichnis wechseln und es mit einem Befehl wie git pull --recurse-submodules
aktualisieren musst.
Du musst ebenfalls vendor/
aktualisieren, wenn neuere Version der benötigten Bibliotheken verfügbar sind.
Dies bedeutet häufig, dass der folgende Composer-Befehl ausgeführt werden muss. Weitere Informationen findest Du oben in #Fetch external libraries:
composer update --no-dev
Nach einem Update/Upgrade des Codes und der erforderlichen Bibliotheken solltest Du das Befehlszeilenskript MediaWiki update.php
ausführen, um die Datenbanktabellen nach Bedarf zu aktualisieren:
php maintenance/run.php update
Wenn Du MediaWiki-Vagrant benutzt, kannst Du alle diese Schritte mit einem einzigen Befehl, vagrant git-update
, ausführen.
Zu einer anderen Version wechseln
Jede unserer Versionen wird als Zweig oder Tag nachverfolgt. Um zu einem dieser Verzeichnisse zu wechseln (bspw. vom master
-Zweig zu einem Entwicklungszweig), musst Du einfach nur den Zweig oder Tag aus Deinem MediaWiki-Klonverzeichnis checkout auswählen:
git checkout <Branch-Name>
oder
git checkout <Tag-Name>
Die Änderungen werden automatisch übernommen und Du kannst loslegen.
MediaWiki-Erweiterungen per Git herunterladen
Eine Erweiterung herunterladen
<EXT>
sollte mit dem Namen der Erweiterung, ohne Leerzeichen, ersetzt werden. Für Erweiterung:TitleKey wäre es TitleKey. (Groß- und Kleinschreibung beachten!)
Herunterladen und Klonen einer Erweiterung aus Git:
Mit deinem Entwicklerkonto kannst du mit diesen Befehlen den Master-Branch abrufen:
cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT>
Wenn du stattdessen einen stabilen Release-Branch klonen und auschecken willst, benutze diese Befehle:
cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT> --branch REL1_42
Man kann sich den Quellcode der Erweiterung in der Gerrit's gitiles-Anwendung und unter folgender URL ansehen:
https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/HEAD
Alle Erweiterungen herunterladen
Wenn Du lieber alle MediaWiki-Erweiterungen bei gerrit.wikimedia.org überprüfen willst, gehe folgendermaßen vor:
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions
Um stattdessen den stabilen Release-Branch auszuwählen, kann dieser Befehl verwendet werden:
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_42
Nachdem der Befehl git clone
ausgeführt wurde, fährt man mit diesen Befehlen fort:
cd /path/to/extensions
git submodule update --init --recursive
Gib anschließend Folgendes ein, um alle Erweiterungen auf die neuesten Versionen dieses Zweigs zu aktualisieren:
cd /path/to/extensions
git pull
git submodule update --init --recursive
So wechselst Du in einen anderen Zweig, beispielsweise nach Erscheinen einer neuen Version:
git submodule foreach 'git checkout -b REL1_41 origin/REL1_41 || :'
Denke daran, dass Du nur Versionen von Erweiterungen aus demselben Release wie der Version von MediaWiki und untereinander verwenden solltest.
Um den Hauptzweig zu verfolgen:
git submodule foreach 'git checkout -b origin/master || :'
Bitte beachte, dass Du unter keinen Umständen den "Master Code for production" benutzen solltest, da dieser als nicht stabil gilt.
Wenn Du nur eine Überprüfung im Nur-Lese-Modus benötigst (um beispielsweise den gesamten MediaWiki-Code zu prüfen oder zu analysieren), kannst Du die Shared MediaWiki-Prüfung in Labs verwenden, ohne etwas auf Deinen Rechner herunterladen zu müssen.
Eine Erweiterung entfernen
- Entferne den "
require_once …
" oder "wfLoadExtension( … )
" ausLocalSettings.php
. - Beliebige Zeile, welche die Erweiterung erwähnt, in
composer.local.json
entfernen (normalerweise im Kapitel "Extra --> Plugin zusammenführen --> einfügen") - Das Erweiterungsverzeichnis in
install-dir/extensions/
entfernen.
MediaWiki-Oberflächen mit Git herunterladen
MediaWiki 1.24 und später enthalten keine Oberflächen beim Herunterladen von Git.
Führe genau den gleiche Vorgang aus wie für Erweiterungen (im vorigen Abschnitt beschrieben), jedoch unter Verwendung von skins
anstatt von extensions
in allen URLs und Pfaden.
Detaillierte Installationanweisungen sind auf jeder Skin-Seite hier auf MediaWiki.org verfügbar, zum Beispiel unter Skin:Vector#Installation (Vector-Installation). Anweisungen für alle anderen Skins liegen analog vor.
Siehe auch
Anhang
Mit der Version von 14:26 am 21. März 2019 wurde die Verlinkung auf gerrit.wikimedia.org umgestellt:
von:
- gerrit.wikimedia.org/r/p/mediawiki
zu:
- gerrit.wikimedia.org/r/mediawiki