Git


 * See Download from Git if you want to checkout the MediaWiki repository for installation and/or development.

For developing MediaWiki, we're using Git version control system and Gerrit, a web based code review system, facilitating online code reviews for Wikimedia. For MediaWiki core development and Wikimedia-deployed extensions, commits must be reviewed before being merged into the master branch.


 * Wikimedia's Gerrit: https://gerrit.wikimedia.org/.
 * Getting to repository: List of the public Gerrit projects, Browse the Git Tree

{| style="background:none;"
 * valign="top" width="50%" style="border:1px solid #bfd7ff; background-color:#f5f9ff;"|
 * valign="top" width="50%" style="border:1px solid #bfd7ff; background-color:#f5f9ff;"|

MediaWiki specific
For detailed description see:
 * TL;DR — a quick cheatsheet for basic tasks regarding mediawiki development using git/gerrit
 * Tutorial — a step-by-step tutorial explaining how to work with our system (basics, collaborating, and troubleshooting)
 * Workflow — Workflow for core and for any extensions or other tools that choose to use Git, Gerrit, git-review, etc.
 * Git/Tips — Tips for working with Git
 * Gerrit — Gerrit how-to's and tutorials
 * Gerrit project ownership — Getting privileges to merge new code in
 * Extensions queue — queue for moving extensions from Subversion to Git
 * Git/New repositories — How to set up a new Wikimedia Git repository for your extension
 * Conversion — Schedule for our Subversion-to-Git migration
 * Issues — Outstanding Git conversion issues
 * Git/Code review/guide - Guide for reviewers
 * Gerrit/Navigation
 * valign="top" style="border:1px solid #bfd7ff; background-color:#f5f9ff;"|

General documentation
Git: Gerrit:
 * Git Community Book
 * A very useful Git guide
 * Git's website with documentation
 * Gerrit's documentation
 * Searching in Gerrit
 * }

Getting started

 * General git setup: create an SSH key and install and configure Git.
 * MediaWiki-specific setup: get developer access and install git-review.

The core can be cloned either through HTTPS (read-only) or using SSH (writable):

To check out an extension, clone the repository with your Git client of choice, or use the command line interface:

There is also a meta repository "mediawiki/extensions.git" where all repositories in the  namespace are tracked as git submodules. To set it up:

If you have developer access, you can participate in the review process, but only core developers can merge changes. Git/Workflow gives a full overview of the Git/Gerrit workflow.