Skip to content
Switch branches/tags

A quick introduction to version control with Git and GitHub

This paper has been published (link to final version) as part of the PLOS Computational Biology Education Collection.

Synopsis and Motivation

This is the repository for the paper "A quick introduction to version control with Git and GitHub". The goal of this paper was to introduce scientists to the concepts behind version control (using Git) so that they can incorporate these practices into their workflows. The manuscript was written using the Authorea platform.

In the manuscript, we encourage readers to practice using GitHub by contributing to this repository. The full details are explained in the section Contribute to other projects, but briefly the steps are:

  • Fork the repository
  • git clone the fork locally
  • Add a file called {GitHub_username}.txt to the readers folder
  • git add + git commit
  • git push the commit to GitHub
  • Issue a Pull Request (PR) to incorporate the change into this repository

Take a look in the readers folder to see all of the contributions from anyone who has had a Pull Request accepted. If you haven't contributed already, we'd love to see your PR!

Example code

The example code, which were provided as supplementary files, can be found in the sudirectory code. If you're interested in running the scripts, please see the README in that directory for instructions.

Build the document

The full tex file and compiled PDF can be obtained from the "Export document" on the Authorea page for this article. Choose the PLOS 2015 template for the best results.

However, to both maintain a presentable version for display on Authorea (e.g. contain the figures) and a version that complies with the PLOS submission guidelines (e.g. only contain figure captions but not images), we created a custom Python script to build the final TEX and PDF files for submission. Run it as follows:

python >

You should be able to run it with either major version of Python. We were able to run it with either Python 2.7.10 or Python 3.4.3.


Thank you to all of our contributors!


Please see our license