Git and GitHub – Overview

What is Version Control?

Version Control (also known as source-code control and revision control) refers to the use of a software system that allows multiple programmers to effectively work on the same software project. Without version control two or more programmers modifying the same code have to manually deal with merging changes and inconsistencies introduced by simultaneous edits. Merging code can be difficult and error prone. A version control system keeps track of the changes made by each of the programmers and merges happen mostly automatically.  The use of version control greatly simplifies software development in teams. Version control is often referred as Source Control.

Why Do We Need Version Control?

Once your students start working in teams for a large project, it is important to synchronize their efforts.  Team members may start modifying the same files and it is important to combine the changes correctly.  Version control helps them make this combination of changes, or merging, easier.  Version control is one of the first tools in place when starting a project in a software team.

Here are some of the reasons why the use of version control is so important:

  • Version control makes the merging of source code from multiple programmers easier.
  • It keeps a log of all the changes done over time by multiple programmers.
  • It allows a team to bring back a previous version of the code with little effort.
  • If the software does not run anymore, it allows developers to find out from the history what changes caused what code to fail.
  • It allows one to find out how much each developer contributed to the project.
  • It allows a team to peer review the changes made to the code. Peer review is known to lead to programs with fewer bugs.
  • Version control provides a backup of all code.

What are GIT and GITHUB?

The github.com website is a popular site for sharing source code in the cloud, using version control to keep track of changes.  Teams of programmers use github to work on the same software project and coordinate their development.

Github uses the GIT version control system developed by Linus Torvalds, the developer of the Linux Operating System.  GIT is used in thousands of Open Source projects.