Version Control with Git and GitHub

Managing your files and scripts

Version control systems are the lab notebook of the digital world. They let you record the history of your files and scripts, look at old versions and see who changed what, when. Online systems for sharing version control repositories, particularly GitHub, have become a standard for publishing scientific code.

Next session: Discontinued


  • Matthew Hartley
  • Tjelvar Olsson


For those new to version control and/or Git


Version control is a way to manage your files and scripts. It's intended to track your changes over time, make sure you never lose old versions of files that you might need, and see when changes were made and by whom. It's also designed to make it easier for lots of different people (like your lab members) to work on the same code, without stepping on each others' toes (too much!). GitHub (a web platform for hosting and sharing Git repositories) is becoming a de-facto standard for scientific code hosting. Often journals will ask you to make accessible your code and scripts at time of publication, and GitHub provides a very straightforward way to do that. This course uses material from Software Carpentry.


Day 1
9:30 Start
11:00 Coffee break
13:00 End

Learning outcomes

By the end of the course you should be able to:


No previous experience is needed although some basic familiarity with the command line shell would be beneficial.

Full course syllabus

Course materials

Course book