← VCE Software Development U3O2

Version control for software projects

A system that records every change to project files, so developers can see who changed what, work in parallel on branches, and roll back to an earlier version.

Understanding Version control for software projects in VCE Software Development U3O2

What it does: git revert undoes the changes made by an earlier commit, so the project returns to a working earlier state while the history is kept. git log lists the commits in order with the author, date and message, which shows who changed what and when. Version control keeps a full history of changes, including the author and the time, so the team can track every edit. A branch is a separate line of development. Developers can work in parallel and keep the main version stable. Version control lets you roll back to an earlier version that worked, so you do not lose all the other work.

Common mistakes: The command to stage a file for the next commit is git add, not git adds. It should be git add main.py. A commit message needs the -m flag. Without it, git treats the text as a file name. It should be git commit -m "Add form".

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 72–85) and word search (Modules 52–85).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
What does a commit do in version control?
Deletes the older versions of the files to save spaceSaves a snapshot of the changes along with a message and the author
Matches
git commit (no message, and nothing staged with git add)
↓
The change was not staged with git add and has no message, so the history does not clearly record what was changed or why.
Applying
Meanings
Term
version control
Meaning
A system that records every change to project files, so developers can see who changed what, work in parallel on branches, and roll back to an earlier version.
Practice
git add .
Testing
Gaps
git -m "Fix score bug"
Check Answer
Spots
1git init
2git adds main.py

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Chameleon' badge — Type Shifter, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. What does a commit do in version control?
A. Deletes the older versions of the files to save space
B. Saves a snapshot of the changes along with a message and the author ✓
A commit records a snapshot of the project, who made it and a message describing the change, which builds the project history.
2. Which statement about version control is correct?
A. It lets you see who changed what and when ✓
B. It only stores the latest copy of each file
Version control keeps a full history of changes, including the author and the time, so the team can track every edit.
3. Why would a developer create a branch?
A. To work on a new feature without affecting the main version ✓
B. To permanently delete the main version of the project
A branch is a separate line of development. Developers can work in parallel and keep the main version stable.
4. A recent commit introduced a bug that broke the login screen. What is the best use of version control?
A. Start the whole project again from scratch
B. Restore the previous working version ✓
Version control lets you roll back to an earlier version that worked, so you do not lose all the other work.
5. Which commit message is better practice?
A. Add password check to login form ✓
B. stuff changed
A clear message explains what changed, so teammates can understand the project history and find the right version to restore.

Match the Pairs

git commit -m "Add login form" → Saves a snapshot of the staged changes to the project history, with a message describing what changed and who made it
git checkout -b new-menu → Creates a new branch called new-menu and switches to it, so a developer can work in parallel without affecting the main code
Rolling back by restoring a previous version of the project after a change has broken the software → git revert a1b2c3d
Tracking who changed what by viewing the history of recorded changes in the project → git log
git commit (no message, and nothing staged with git add) → The change was not staged with git add and has no message, so the history does not clearly record what was changed or why.
Two developers both edit main.py directly on the main branch all day → Working on the same branch at the same time risks overwriting each other's changes. Each developer should work on their own branch and merge later.

Key Term

version control
A system that records every change to project files, so developers can see who changed what, work in parallel on branches, and roll back to an earlier version.

Fill in the Blanks

1. git add main.py git commit -m "Fix score bug"
Hint: Type the git command that saves a snapshot of the staged changes with a message.
2. git branch feature-login
Hint: Type the git command that creates a separate line of work so developers can work in parallel.
3. git checkout main git merge feature-login
Hint: Type the git command that combines the changes from another branch into the current branch.
4. git log --oneline
Hint: Type the git command that lists the history of commits, showing who changed what.
5. git revert a1b2c3d
Hint: Type the git command that undoes a chosen commit to roll back to an earlier version.

Spot the Error

Question 1
A git init
B git adds main.py
C git commit -m "Add login"
Line B — The command to stage a file for the next commit is git add, not git adds. It should be git add main.py.
Question 2
A git branch login
B git switch login
C git add main.py
D git commit "Add form"
E git switch main
F git merge login
Line D — A commit message needs the -m flag. Without it, git treats the text as a file name. It should be git commit -m "Add form".
Question 3
A git switch main
B git merge main
C git log --oneline
Line B — While on main, you merge the branch you want to bring in. That branch is login, so the line should be git merge login. Merging main into itself does nothing.
Question 4
A git log --oneline main.py
B # a1b2c3d Before the bug
C git commit a1b2c3d main.py
D git commit -m "Restore main.py"
Line C — git commit saves new changes. It does not restore an old version. To bring back main.py from an earlier commit, use git checkout a1b2c3d main.py.
Question 5
A git start
B git add .
C git commit -m "Start"
Line A — git start is not a command. A new version-controlled repository is created with git init.

Student with a class code? Join your class →