Networking | Programming | Security | Linux | Computer Science | About

What is Version Control?

Version control systems (also known as source control management, or SCM) are software that keep track of each version of each file in a coding project, a ­timestamp for when that version was created, and the author of those changes.

Writing code is an iterative process. For example, when you’re building a website, you first may want to get some basic structure up before adding all your content. The best thing to do is to create a version of your website each time you have something that works. That way, as you experiment with the next piece, if some- thing breaks, you can just go back to your previous version and start over.

SCMs enable coders to make mistakes without worrying that they’ll have to completely start over. Think of it like being able to click Undo, but instead of undoing each key press, you can undo an entire piece of the project if you decide you don’t like it or it doesn’t work.

Version Control workflow

The basic workflow of coding with version control system support is as follows:

  1. Create a project, typically in a folder on your computer.
  2. Tell your version control system of choice to track the changes of your project/folder.
  3. Each time your project is in a working state, or you’re going to walk away from it, tell your version control system of choice to save it as the next version.
  4. If you ever need to go back to a previous version, you can ask your version control system to revert to whichever previous version you need.

You can use a version control system if you’re working alone on your own computer, but it gets even more interesting when you begin working with other people.

For more information about version control, and Git in particular, visit en/v2/Getting-Started-About-Version-Control

Published on Sun 17 June 2012 by Paul Downton in Programming with tag(s): version control