Version Control in Software Development

When placing your material into online repositories such as GitHub, you (the student) are responsible to ensure that you use private repositories for any and all exercises, assessment, labs, and other items for marks. Also note that for some markable items, you may be instructed to not post the item(s) into online repositories.

Failure to follow these guidelines will result in you being assigned a mark of zero for the work and/or course.

Software development is an exercise of discovery - both in understanding the problem that has to be solved and in coming to a good solution. Version control is a key aspect of modern software developement, precisely because it helps in a) the core process of discovery and b) the ability to work collaboratively on the software. Version control is possible through the use of version control software.

Version control works by storing "snapshots" of our software projects into a database. A database used to store code is called a repository. Each time you save a "snapshot" of your code, that process is called making a commit. These commits represent the state of our code at a specific point in time; the implication of this is that every repository contains a history of the "evolution" of the software project.

In general, there are two kinds of version control systems:

  • Centralized Version Control System (CVCS)
  • Distributed Version Control System (DVCS)

In this course, our focus will be on using Distributed Version Control Systems, and the DVCS of choice will be git. Along with that, we will be using GitHub as an online copy of our code repositories, which will make moving from room-to-room much easier over the term.

Last Updated: 7/11/2018, 7:44:03 PM