This course will become read-only in the near future. Tell us at if that is a problem.

Setting up Git and using Github

Clone, commit, push, pull, rinse and repeat!


For this course, GitHub is used as a central repository for exercise submissions. Each course participant will create an account on GitHub, fork (i.e., copy) the course repository, modify the skeleton files to complete assignments, and push the completed work back up to GitHub for all to see and review.

Installing Git

git is a distributed version control system. Version control systems are an important toolkit in a developer's arsenal: they allow developers to track changes to their code over time and operate well in a team. Developers usually commit small changes as they complete features, creating revisions that are archived and never lost.

git is the most popular version control system used with Ruby at this time.

git does not have the gentlest learning curve, but the basic functions are pretty straightforward and well documented.

Reading Assignment: Learn more about git by reading Pro Git - Git Basics.

Task: Sign up for a free account on GitHub.

Reading Assignment: After you've learned about git at a high level, setup git on your local machine by following the instructions on GitHub for your platform. Follow the entire guide, including setting up SSH keys.

Alternatives to installing GIt:

Its great that technology makes life eaiser for us, but its better to know how the internals of a system works.  For those less adventurous here are some other ways of interacting with git and github.



Forking the Course Repository

Reading Assignment: Read the GitHub guide to forking a repository.

Task: Fork the coursework repository. Specifically, follow along with this screencast.


Task Discussion