135 Version control

Learn how version control helps developers manage code changes, collaborate with others, and track progress across time.

Outline

This module introduces the fundamentals of version control in software development. Students will explore the difference between Git and GitHub, understand how these tools interact with an IDE and the command line, and practise using branches to manage features and resolve issues. Emphasis is placed on industry-relevant workflows and the importance of documentation and collaboration in software projects.

Targets

In this topic, students learn to:

  • Describe the purpose and function of version control systems

  • Distinguish between Git (local version control) and GitHub (remote repository hosting)

  • Demonstrate how to initialise, commit, push, and pull changes using both IDEs and the command line

  • Explain the concept of branching and merge conflicts

  • Use Git and GitHub in an integrated development workflow

Software engineering project / Producing and implementing
  • Implement version control when developing a software engineering solution

Glossary

Term
Definition

Git

A distributed version control system that tracks changes in files locally

GitHub

A cloud-based platform for hosting and collaborating on Git repositories

Repository (repo)

A directory that contains all your project files and version history managed by Git

Commit

A snapshot of changes made to files, saved with a message

Push

Upload local commits to a remote repository (e.g., GitHub)

Pull

Download changes from a remote repository to your local machine

Branch

A separate line of development within a repository

Merge conflict

A situation where two versions of the same file have conflicting changes

Overview

Version control is a core professional skill in software engineering. It allows multiple developers to work on the same project simultaneously, tracks the history of changes, and provides mechanisms to experiment with new features without risking the stability of the main codebase.

In this module, students will learn how Git works under the hood and how GitHub enhances collaboration through cloud-hosted repositories. They will also explore how to use these tools through an IDE or the command line, preparing them for project work and industry-standard development workflows.

Last updated

Was this helpful?