Introduction
In part 4, we discussed some additional tools to help your coding. In part 5, we look at version control, which is a way of tracking changes you make to your code (or in a wider sense, documents, information, etc.). As it is such an important topic, I think it warranted its own post, even though technically it is just another tool in your kit.
Different flavours
There are many different version control platforms available. Again, let’s not get bogged down in choice. Git is probably the best option for beginners but I’d go one step further and say you should seriously consider using Github, which is a web based Git respository. This allows you to use Git commands at the CLI to work with your version controlled assets (i.e. scripts in our case) or a GUI to take care of the underlying Git commands for you. I highly recommend you sign up for an account at Github and go through the initial ‘Getting Started’ guide. This will teach you the majority of what you need to know in under 15 minutes. That’s what I call fast tracking!
Once you get familiar with the basics, start looking at other people’s repositories (where other people upload their projects). As well as keeping on top of all your different files, tools like Github provide a great opportunity to be collaborative. Find a project that interests you and rather than just downloading, make some pull requests (effectively a suggestion for a change). Even if you just start updating a project’s documentation to get comfortable with the process, then start looking at the code itself.
Also, make sure that your own projects are well enough documented for others to understand.
Summary
In part 5, we very quickly covered (as per the theme of this series) the basics of version control and provided some options. As well as being a great collaborative tool, you’ll soon be thankful for it’s ability to ensure you are always working on the latest version of your scripts rather than deciding which of the 20 files on your desktop is the latest! In part 6, we will look at some training resources that will allow your skills to sky rocket.
Till the next time.