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
Initialise your Git repository in Codio:
git init
Add your files:
git add .
Commit your changes with a clear message:
git commit -m "Added login form and basic route"
Connect your local repo to GitHub:
git remote add origin https://github.com/username/project.git
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?