An introduction to Version Control - Part 1

An introduction to Version Control - Part 1

In this blog post I’m going to discuss Version Control; what that phrase actually means, and what it means to web developers. From there I am going to fill you in on how to get Git (one of the more popular version control solutions) installed on your machine, then onto some basic commands and how to use GitHub.

Version Control (what is it?)

The phrase “Version Control” itself is pretty self explanatory. It is a method commonly incorporated into the digital workflow in order to keep track of different versions of software / web projects.

When a website, piece of code or program is worked on over time, it is only natural that it evolves. If you were to start with a flat website mockup for example, you may wish to develop the design into a dynamic WordPress site using a custom designed theme. Version control allows us to keep track of the code at each stage of development. Not only can we track where/when changes were made, but we can roll back to the changes.

Another feature of Version Control is branching. Branching is where we “branch” off a version of the code, in order to try something out with it. For example, we might try to add a new feature to the code.

Branching would allow one developer to continue working on the main branch of the code, while another developer could branch off from the current version and attempt to add their feature. This way, developer 2 can work on their feature without making amends to the original source. If developer 2 comes up with a great new feature, it can be merged back into the master branch at a later date.

This is obviously a massively useful system for teams who are working on the same project together. Version control lets everyone play their own part while working on an existing project, without potential to negatively impact the work of others.

Version control logos

Options for version control

Listed below are just some of the different options available for version control:

  • Subversion (http://subversion.tigris.org/) aka SVN is probably the most widely used version control system in the world. Even Google Code and SourceForge use SVN.
  •  
  •  
  • Mercurial is an open source version control system designed for big teams working on large projects.
  •  
  •  
  • Concurrent Versions System (CVS, http://www.nongnu.org/cvs/) is the original Version Control system, and has been around since 1986!
  •  
  •  
  • Git (http://git-scm.com/), developed by Linus Torvalds, is another open source solution which is fast becoming the preferred version control method for web developers.

Getting started with Git

First of all you’re going to need to get a hold of Git. How you run Git is dependant on your chosen system.

Windows users

Simply click the following link: http://git-scm.com/download/win to instantly download Git. Install as any normal Windows package.

Mac users

From Git:

There are several ways to install Git on a Mac. The easiest is probably to install the Xcode Command Line Tools. On Mavericks (10.9) or above you can do this simply by trying to run git from the Terminal the very first time. If you don’t have it installed already, it will prompt you to install it.

Linux

From Git:

If you want to install Git on Linux via a binary installer, you can generally do so through the basic package-management tool that comes with your distribution. If you’re on Fedora for example, you can use yum:

$ yum install git
If you’re on a Debian-based distribution like Ubuntu, try apt-get:

$ apt-get install git

And that’s it, Git is now installed!

In order to check it has installed properly, open Git Bash (or simply command line if you opted to add Git to your environment path).

Git Bash looks like this:

Version Control screen

Type git and hit enter. Assuming Git has installed properly, you’ll be presented a list of Git functions.

Now we know what version control is used for, and we’ve got Git installed locally. Look out for the next article which will go over the basics of setting up Git and some of the most commonly used commands. After that we will go over terminology, creating your first repo and pushing out your very first commit to GitHub!

by Paul Devine on 18/12/2014

Please sign in to write a review
Forgot your password?
keyboard_arrow_up