Instructions for using Github and Github Classroom

We will be using github as the source code control system for lab assignments. To get started with github, first go to www.github.com and create a free user account (if you don't already have one).

Githib allows you to create a code repository for each project. However, since github limits the number of private repository per user account, we will use githib classroom, which will offer you a free private repository for each lab assignment.

To create a repository, accept the github classroom invitation link and a repository will be created for you.

If you are working in a group of two, only one member should accept the invitation link. That group member should then go to the repository that was created and go to the settings for the repository and add the other member of the team as using the "Collaborators and Team" feature in settings. If both members accept the invitation, it will create two separate repositories, one for each user, and only one repository is needed per group.

Once you start writing code, you can commit your source code additions to the repository and each member can pull changes from the repository.

A few resources are available for learning git and github:
Read through the Git Basics chapter in the Git Book
Watch a git and github tutorial on youtube: Learn Github in 20 minutes
Youtube has many other tutorials that you can find by searching for "github getting started" or "git tutorial".


Frequently asked questions

Why are we using github for the lab assignment?
All software development projects use a source code control system. Github is a modern source code control system that is widely used for software development. Github is based on git, a distributed source control system. Knowledge of tools such as github and git is assumed for a typical Computer Science graduates and its use in the lab assignments will enforce good software engineering practices.

Do I need to know git commands to use github?
Some basic familiarity with a few key commands would be useful. As an alternative, you can use Github Desktop, which is a GUI-based frontend to git and github. Feel free to download and use github desktop to checkout and checkin your source code. It is available here.

How do I install git?
Github assumes the presence of git on your machine. The above tutorial describes how to install git.

Can I use a different source code control system such as svn, bitbucket or mercurial?
Since we are using github classroom to handout and track lab assignments, you should use github for the labs.