Git Hub Tutorial

A while back I wrote a GitHub tutorial for my co-workers. Is is a big PDF and I really didn’t want to transfer everything to the webpage here (I’m pretty lazy when it comes to things like this), so instead I’ve just embedded the PDF below. Feel free to download it and read in on your tablet or however you read! My personal favorite method is to download the PDF to my Dropbox, and then read it on my iPad while I work.

To fill up room (I’m classy like that) I will give a brief description of GitHub for those who don’t know…

At the heart of GitHub is Git, an open source project started by Linux creator Linus Torvalds. Git is a project version control system. Basically what it does is manages and stores revisions of projects. Although it’s mostly used for coding, Git projects could be anything, such as Word documents, PDF’s, or even vector images. Many of the professors at University of Alberta (where I went to school) used Git to store versions of their publications, and one computer-savy math professor I had used it for almost everything he did.

GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as a wikis and basic task management tools for every project.

Arguably the most powerful feature supplied by GitHub is “forking” – copying a repository from one user’s account to your own (or someone else copying your project to their account). This enables anyone to take a project that you don’t have write access to and modify it under their account. If they make changes and would like to share them, they can send a notification called a “pull request” to the original owner. The original owner of the project can then merge the changes made with the original repo. This allows users from all around the world to collaborate and work on projects together. It has really amazing implications for open source projects, because people from all around the world can work on the same project and merge their changes to make the project that much better.

If you want to just try out GitHub really quickly, you can head over to Code School and check out Greg Pollack’s TryGit course. I would also like to note here that Code School is a great resource when you want to learn anything new with regards to web development. Their Rails for Zombies course is amazing and everyone should try it.

Well that’s a pretty quick run down of GitHub and some resources you can check out. Check out my PDF and start using GitHub right away. It is awesome for managing your projects and once you get in the swing of things, it will become like second nature to you. You will stage, commit, and push like no ones business! I haven’t really read over this tutorial in a while, so I may make a few changes in the next little while so look out for those!

As always thank you for reading and please share it around as much as you can! Please feel free to put any questions, suggestions, or ideas in the comments section below. You can also email me directly via