You are reading an old version of the documentation (v1.5.1). For the latest version see

We're updating the default styles for Matplotlib 2.0

Learn what to expect in the new updates



Table Of Contents

This Page

Set up your fork

First you follow the instructions for Making your own copy (fork) of matplotlib.


git clone [email protected]:your-user-name/matplotlib.git
cd matplotlib
git remote add upstream git://

In detail

Clone your fork

  1. Clone your fork to the local computer with git clone

  2. Investigate. Change directory to your new repo: cd matplotlib. Then git branch -a to show you all branches. You’ll get something like:

    * master

    This tells you that you are currently on the master branch, and that you also have a remote connection to origin/master. What remote repository is remote/origin? Try git remote -v to see the URLs for the remote. They will point to your github fork.

    Now you want to connect to the upstream matplotlib github repository, so you can merge in changes from trunk.

Linking your repository to the upstream repo

cd matplotlib
git remote add upstream git://

upstream here is just the arbitrary name we’re using to refer to the main matplotlib repository at matplotlib github.

Note that we’ve used git:// for the URL rather than git@. The git:// URL is read only. This means that we can’t accidentally (or deliberately) write to the upstream repo, and we are only going to use it to merge into our own code.

Note this command needs to be run on every clone of the repository that you make. It is not tracked in your personal repository on github.

Just for your own satisfaction, show yourself that you now have a new ‘remote’, with git remote -v show, giving you something like:

upstream     git:// (fetch)
upstream     git:// (push)
origin       [email protected]:your-user-name/matplotlib.git (fetch)
origin       [email protected]:your-user-name/matplotlib.git (push)