Sign Up to GitHub

You can skip this if done in previous tutorial

https://github.com - It’s possible you may keep this GitHub account, use it for CVs etc. So I recommend NOT using a silly name or using your Adelaide uni account name

Practical - simulated open source repo

There’s a GitHub repository Practical project which is a simulation of an open source project with bugs.

It has randomly generated data, so has the same structure (but different data) as Assignment 6

File history

From the project page, click on “data” then click on your student number .txt file. You can see the latest content, and the last commit.

Branches

Branches allow you to keep different versions of code (say, a “stable” vs “experimental/active development”) and keep work separate.

You can split off branches, and merge branches into each other.

Git - branches in a nutshell GitHub - about branches

Raising an issue

Raise an issue in the GitHub repository Practical project for the XXXXXXX bug

Make sure the title includes your filename and what’s wrong with it, ie “file data/a1059391.txt contains ‘XXXXXXX’”

Remember to be nice - perhaps start the issue with “Hi, thanks for your project! I think I may have found an issue” - be humble and kind. You may be adding more stress to an overworked person trying to do altruistic work…

A bad issue raises stress but a good issue helps people, and makes it more easy for them to fix, and happier to do so.

Write Actual vs Expected for your file, only mentioning the high severity bug (XXXXXXX)

Forking

You generally don’t have permission to modify other people’s projects, so how do we modify it, or send them changes? Start by forking.

Forking is a way to create a personal copy of someone else’s repository on GitHub. When you fork a repo, you’re essentially duplicating it under your GitHub account. This allows you to freely experiment with changes without affecting the original project.

Steps for Forking on GitHub:

Navigate to the repository you want to fork.
Click the "Fork" button, usually located at the top right corner of the repo's page.
Choose where you want to fork the repo. Usually, it's your personal GitHub account.

What Happens After Forking:

You get a new repository under your account that's identical to the original repo at the time of forking.
Your fork exists independently, meaning changes to the fork won't affect the original repo, and vice versa.

Common Use Cases:

Contributing to a Project: Fork the repo, clone your fork locally, make changes, push back to your fork on GitHub, and then create a pull request to the original repo.
Personal Experiments: You can freely modify your fork without worrying about the original project.

Fork the repository to your personal account.

Clone your newly forked personal repo

git clone https://github.com/YOUR_USERNAME/2025_practical_github_repositories
cd 2025_practical_github_repositories

Fix the XXXXXXX issue

If this failed - it may be because you need to setup access tokens

Access Tokens

You can skip this section if you completed the previous tutorial.

GitHub uses Personal access tokens rather than passwords. To generate one of these for the VM:

DO NOT CLOSE THIS TAB - leave it open so you can copy/paste it when you do a git push

You can store your token (as plaintext on the VM) via:

git config --global credential.helper store
git push # Enter username and tokens and enter

Your forked repo

Go to your forked repo page.

Submit a pull request

Extras

GitHub extra reading