722.2 Version control and collaboration tools

Track your progress, manage changes, and collaborate like a professional software engineer.

Overview

Version control is an essential practice in software engineering. It allows you to keep track of changes to your code, recover previous versions, and collaborate efficiently—even when working alone. In this section, you will learn how to use Git and GitHub to manage your project in a way that reflects real-world software development practices. You will also explore how collaboration tools support documentation, task management, and communication throughout the development lifecycle.

Students should use Git for version control and GitHub to host their repositories. Codio integrates seamlessly with GitHub, allowing you to push and pull changes from your Codio environment. Whether you are working solo or with input from your teacher, version control helps you organise your work, test safely, and document progress.

Git and GitHub: What and why

Git is a distributed version control system. It tracks changes to your files over time and allows you to revert, branch, and merge versions.

GitHub is a web-based platform that hosts Git repositories. It allows you to store your code online, collaborate with others, and showcase your work.

Benefits for your project:

  • Easily undo mistakes by restoring a previous commit

  • Keep a history of what you changed and why (via commit messages)

  • Work on new features in isolation using branches

  • Push and pull between Codio and GitHub to sync your project

  • Share your code with your teacher for feedback and review

Core Git workflow in Codio

  1. Initialise your Git repository in Codio: git init

  2. Add your files: git add .

  3. Commit your changes with a clear message: git commit -m "Added login form and basic route"

  4. Connect your local repo to GitHub: git remote add origin https://github.com/username/project.git

  5. Push your changes to GitHub: git push -u origin main

You will repeat this cycle throughout development. Remember to commit regularly and use descriptive messages to document what you've done.

Commit conventions and good practice

A good commit history tells the story of your project. Each message should be short, specific, and written in the present tense.

Examples:

  • Add bug submission form markup

  • Fix redirect bug on login route

  • Refactor bug model to support status labels

Tip: Avoid committing large, sweeping changes all at once. Instead, commit small, meaningful units of work.

Using GitHub for task and issue management

Even though you are working individually, you can use GitHub Issues or Projects to:

  • Break your work into tasks (e.g. “Set up SQLite schema”, “Style dashboard page”)

  • Set deadlines and milestones

  • Track bugs or feature requests

  • Write notes on problems, solutions, or feedback from your teacher

This forms part of your project documentation and helps you justify your development approach in your SDS.

README file as living documentation

Your repository should include a well-maintained README.md file. This file explains what your project is, how to run it, and any dependencies.

Include:

  • Project title and summary

  • Features and functionality

  • Installation and usage instructions (specific to Codio if needed)

  • Credits and acknowledgements

Summary

Version control is not just a backup system—it’s a workflow. By using Git and GitHub throughout your project, you’ll demonstrate real-world software engineering practices and build confidence in managing a complete development cycle. Codio supports this process by integrating Git tools directly into your development environment.

Last updated

Was this helpful?