Contributing with Github

From reSIProcate
Jump to navigation Jump to search

Install the Git software

  • Linux and Mac OS: the git utility is probably already on your system, if not, install it with the package manager (apt-get on Debian/Ubuntu, yum on Fedora). Installing the gitk GUI is also useful for exploring repositories.
  • Windows: see the instructions Quick Windows Git Installation

Set up your Git config

Git uses your real name and email address as an identifier in every commit.

It is mandatory that you set these in ~/.git/config. If you fail to do so, Git will use guessed values and this is often inconvient and impossible to correct after you send your changes to the server.

git config --global "Daniel Pocock"
git config --global ""

You can and should override these on individual commits when merging patches that you have manually applied from third parties, e.g. using the --author parameter to the git commit command.

Create a Github account

If you haven't already, create an account in Github

Fork the project

Go to and click the Fork button at the top right-hand corner of the page.

Github will ask you which organisation you want to put your fork in. Choose your personal page (e.g. mine is


Check out your fork

Here is an example for the dpocock fork

mkdir ~/ws
cd ~/ws
git clone resiprocate

Create a branch from master

cd resiprocate
git branch build-fixes
git checkout build-fixes

Make your changes, e.g.


Now add the file to the change set and commit it (these are two steps in Git):

git add
git commit -m 'autotools: fix a typo'

Send changes to server

Commits are stored on your local disk. They are only sent to the server when you explicitly ask to send them using the git push command.

Send the new build-fixes branch up to the server:

git push -u origin build-fixes

This will remember that you always want to send commits on build-fixes when you push. If you make subsequent commits on the same branch, you can just use:

git push

and it will send them.

Create a pull request

Go back to Github and look at the page for your fork.

Github should tell you that it sees your recent changes and there should be a button labelled Create pull request


Click the button and add any comments for the reviewers.