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: Jan 2018
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.
By the end of the course you should be able to:
Understand what version control is and why its useful
Create repositories, add files and track changes
Share your repositories with others through hosting platforms such as GitHub
Understand the benefits of an open approach to code sharing
No previous experience is needed although some basic familiarity with the command line shell would be beneficial.
Full course syllabus
What is automated version control?
Setting up git
Creating repostories, tracking changes, exploring history