Contributing changes with Git

This document describes how to “fork” the BAli-Phy repository and submit a “pull request” in order to contribute changes.

If instead you just want to get the source code, then you should ignore this tutorial and just “clone” the repository.

Fork and download the source code

  1. Click the “Fork” button on to create a version of the code under your own account. (You will need a github account for this.)

  2. Download your version of the code:

    The name origin in your local repo will then refer to your modified version of BAli-Phy.

  3. Create a new remote called upstream to refer to the upstream version:

  4. Make the master branch track upstream changes.

    This is optional, but recommended. The plan is that you will use the master branch to track the upstream source, and the make other branches to hold your changes.

Make changes on a branch

  1. Create a new branch to contain your changes. In this example the branch is called my-new-feature-branch, but you should pick a name that describes the changes you are making.

  2. Edit files and commit changes.

  3. Publish your changes to to github.

Contribute changes to the BAli-Phy project

  1. Send a pull request through github:
    1. Go to and click New pull request
    2. Click compare across forks.
    3. Select your-username/BAli-Phy for the head repository.
    4. Select compare:my-new-feature-branch
    5. Write a title and a short message.
    6. Click Create pull request.

Tests will run automatically on the proposed changes, and we will review the changes. When everything is ready, changes will be merged to the master branch.