Version control with Git
Version control is an important concept in computer science and bioinformatics. It refers to the process by which you track and manage any changes that are made to the code you are working on by creating regular snapshots (or versions) of that script (or document) as it develops. Version control is important as it can track what changes were made when, and in larger projects, who made the changes. This makes it easy to return to a previous ‘working’ version of the project if, for example, you introduce code in a later version that makes the process run less efficently. Or, if multiple people are working on the same project, changes can easily be tracked, merged and synced independently.
Code is hosted on online repositories such (eg, GitHub or GitLab). and the underlying software used to implement version control locally is called git. We will be talking about GitHub here. GitHub is a free service for most users who are not running huge projects. It is possible to alter the visability of any code / projects that you host on GitHub, by changing settings between public and private.
Version control is an important practice to incorporate into your workflow in bioinformatics as it can help you organise you project workflow effectively and gets you into the habit of annotating the changes you make to a script or document in real time. If your boss suddenly asks you to work on something else for a few months, you will thank yourself when you have to return to a project where you have used version control properly and have proper note about what you were doing and where to left the project.