Version control is indispensable for large coding projects with multiple developers collaborating on the same code, but it’s also a very useful tool for the workflow of scientific research.
![gitkraken student gitkraken student](https://1v5ymx3zt3y73fq5gy23rtnc-wpengine.netdna-ssl.com/wp-content/uploads/2021/06/GK-Suite_Hero-1600x900-1-1024x576.png)
You can think of it as an extra step on top of ‘saving’ a file – a step that solidifies a key point in time for your work, records how it changed from previous and subsequent points in time, and records who made the change, when, and why. You can even have multiple different versions of the same folder existing in parallel (called branches). As you make changes to the files within your folder, you can always come back to previous snapshots that you’ve taken (if, e.g., you make a change that you regret, or need information from a previous point in time). Put more intuitively, version control is a way of taking a snapshot in time (called a ‘commit’) of all the files in one of your folders (called ‘repositories’). Version control is any system that records changes made within a set of files over time so that different versions of files can be managed and, if necessary, recovered. Using GitKraken & Command Line Interface (CLI)
![gitkraken student gitkraken student](https://1v5ymx3zt3y73fq5gy23rtnc-wpengine.netdna-ssl.com/wp-content/uploads/2021/06/Improving-DevOps-blog_OG-1.png)
Putting project files in a common folder.After finishing this tutorial, the reader should be able to use version control in their own scientific workflow. For an introduction that includes the command line interface (CLI), an alternative set of notes also exists as part of a tutorial in the Stirling Coding Club. An introduction to git is provided using GitKraken software.
![gitkraken student gitkraken student](https://1v5ymx3zt3y73fq5gy23rtnc-wpengine.netdna-ssl.com/wp-content/uploads/2021/06/Host-a-hackthon_Hero-1600x900-1-1536x864.png)
#Gitkraken student software
These notes will help the reader begin using git version control software and the GitHub hosting service. These notes are provided as a guided tutorial to accompany a workshop focused on the use of version control to improve workflow in scientific research, but they can also be used as a standalone introduction to the subject.