Yup, I get to talk about another super cool programming thing. But chances are, you’ve used version control, or something quite similar, without even realizing it. Ever played a video game, and decided to save your progress before taking out the BBEG? (that’s ‘Big Bad Evil Guy’ for your normal folks) That’s technically version control. You’re taking something, saving it in its current state, then doing whatever it is that you want to do without any real consequences. And who wants to deal with consequences?
Us super cool programmers live on programs like “Git” to make sure we don’t undo days, weeks, even months worth of work in a second. But it’s not just ‘saving’ your progress. Git takes it several steps further. Every time you ‘commit’ your files, you’re creating a checkpoint. And each checkpoint is saved in a separate save. So if you decide that the feature you’re currently working on is a complete waste of time, but don’t feel like going through all the different parts to make sure it’s completely removed, go back however far you need to go to a previous checkpoint. There. It’s gone. Like the whole thing never happened. Let the shame wash away.
Git also uses these things called “branches” that allow you to have multiple versions of a project, each with its own set of checkpoints along the way! Think of your project as a tree. Each ‘git’ project has a ‘master’ branch. You can think of this as the trunk. Each branch of this tree could be a feature that a different developer is working on without interfering with another branch. Everyone can play along nicely by not playing together at all. Then, once a feature is finished and fully debugged, you can add it to the master branch by ‘merging’ the feature branch into the master branch. Super simple to do if you’re not afraid of the terminal.
That’s all, folks. That’s Version Control in a nutshell. It’s an extremely helpful tool that makes whatever project you’re working on even more fool-proof than it was before.