---
title: "Version Control"
date: 2019-06-09T20:17:54-07:00
weight: 10
---

I _strongly_ recommend using some kind of source control software. It is incredibly foolish to develop without it. Version control lets you make changes to your code without worrying about irreparably ruining your code base, so you can make changes with peace of mind.

I strongly recommend [Git](https://git-scm.com/). You'll have to download and install it if you're on Windows.

There is an excellent tutorial on how to use Git [on the Git website](https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control).

The basic Git workflow is this: when you make changes, you review them and "stage" them, and then "commit" them with a message. Think of a commit as freezing your code at a particular place in time. You can always revert to this exact place once you commit. It's incredibly useful.

You can also synchronize your "Git repository" with a remote server, meaning it will be backed up and centrally accessible. I recommend doing this. [GitHub](https://github.com) and [GitLab](https://gitlab.com) both provide free accounts with unlimited private repositories. They will give you instructions for how to create a new repository.
