Version Control


This guide[4] will step you through setting up GitHub and GithHub desktop and using it to manage different versions of your files / source code[1].

Creating an Account

Version control[5] is essential for managing your project[6].

It allows multiple people to work on code and for changes that are made to files to be tracked.

Go to github.com and Sign Up

Fill in the details required

Creating a Repository

When you’ve signed in you’re going to want to create a repository[2].

A repository is a place where you store all of your files for a project.

Click New to create a repo[2]

Fill in the details

You should make your repository private otherwise everyone can see your work

Working with others

If you are working with others you can add them to the repo

Click settings

Then Manage Access

Click invite a collaborator and then type their username or email to add them

They will then have access to the repository

Installing the Github Desktop Client

Now we want to easily manage our work on our computers.

Download Github Desktop for this

Go to desktop.github.com/

And then Download and install the application

When installed you need[7] to sign in and set it up

Click File Options

Click Sign in for Github.com

Now you’ll have the ability to create or clone[8] your repositories

Cloning (Copying) a repository

This involves making a copy of the repository on your own computer to be able to use later.

As we’ve already created a repository online[9] we’re going to clone it.

Clone[8] means make a copy of the repository.

Click Clone a repository from the internet[3]

Next select the repository you want to clone

In the Local Path section choose where you want to save the project. Make sure that you know where this is. Any files saved into this folder will become part of the project.

Finally click the Clone button.

You will now see the repository

Adding Files to the repository

Go to the folder for the repository and save a file in there.

Now go back to Github Desktop

You will see that there is now a record in Changes

Green indicated content added since the last change and red indicated content deleted.

Github will track changes inside documents as well (so long as it can read them)

Committing changes to the repository

Now we want to commit (send the change) to the github repository.

Any commits we make need to have a summary title and should have a description entered.

See the example below for the Readme.txt file

Click commit to Master to commit the change locally (on this computer)

Next we need to Push (send the changes to the online repository), as this is the first time we have used the repository we also need to Publish the branch.

A branch is a separate path that our code can follow and can split off from other parts of the code at points (like a tree branch).

Click Publish brach (or push)

You should see at the top it says Pushing to Origin.

This means that the file is being uploaded

Making additional changes to files

Now open the Readme.txt file and edit it.

Save this change

Go back to Github Desktop and look at the changes

Add relevant comments to the commit

Commit the changes and push to origin

Viewing changes online

Note you can easily view the files on your computer from here or the online version

Click on the View on GitHub button. You might need to be signed in online for the link to work properly

Here we can see the project details

Making changes using Github.com

You can carry out basic[10] editing in Github Online[9].

Click Go to File and then choose a file to edit.

If you can edit the file there is a pencil icon.

Click the pencil

Make some changes

Scroll down and Commit the changes

Syncing your local computer with the online repository

To check for updates in GitHub Desktop click Fetch Origin at the top of the window

If there are changes you’ll be asked to pull (download) the changes.

Open the file, you’ll see the updated version.

When there are changes on the local computer and online repository (conflicts)

So what happens when we change the online file and the local one at the same time.

Now change the online file and save the commit

Then edit the local file

Commit the change using GitHub Desktop

You should get an error

Fetch the remote commits

You’ll receive an error about conflicts

You can choose what to do with the conflict.

It’s best to open them in your code editor and manually merge the changes (even better if you prevent these problems). Visual Studio Code is a good tool for this.

Once you’ve resolved the conflicts you can Commit the merge

Sadly GitHub doesn’t really have a way of checking out and locking a single file so that others can’t access it.

Make sure you communicate with group members.

Terms definitions
1. source code. The code of a computer program written so it’s readable by a person and using the particular syntax of a programming language, for example, C, Python, Java. Source code is compiled or interpreted into machine code able to be run by a computer.
2. repository. Used in version control systems to refer to a place or location that contains files for a project.
3. internet. A group of devices that are connected to each other worldwide.
4. guide. A user guide, document or tutorial to explain how to complete a task.
5. control. How a computer system operates or is “controlled”