### Navigation

- index
- modules |
- next |
- previous |
- home|
- examples|
- tutorials|
- pyplot|
- docs »
- The Matplotlib Developers’ Guide »
- Working with Matplotlib source code »
- Git for development »

# Set up your fork

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

## Overview

    git clone https://github.com:your-user-name/matplotlib.git
    cd matplotlib
    git remote add upstream git://github.com/matplotlib/matplotlib.git

## In detail

### Clone your fork

1. Clone your fork to the local computer with `git clone https://github.com:your-user-name/matplotlib.git`

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
       remotes/origin/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://github.com/matplotlib/matplotlib.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 `https://` or `git@`. The `git://` URL is read only. This means we 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.

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://github.com/matplotlib/matplotlib.git (fetch)
    upstream     git://github.com/matplotlib/matplotlib.git (push)
    origin       https://github.com:your-user-name/matplotlib.git (fetch)
    origin       https://github.com:your-user-name/matplotlib.git (push)