Social Coding with GitHub
This is the course content for Social Coding with GitHub, which has been developed and maintained by OpenTechSchool.
Welcome
Welcome to social coding with GitHub! This course is intended to introduce beginners to the social side of programming. We’ll be looking at one of the most popular sites for social programming: GitHub.
We’ll be using Git, a popular tool for storing and sharing source code. It’s a tool that keeps a copy of your source code, but not just one copy. It keeps track of every version of every file in a repository. In addition we’ll also use GitHub to host your Git repositories online for you.
What we’ll do today
There are two parts to the course today. The first is the core content. This is to get you up and running with Git and GitHub. We’ll create a simple repository and show you how to get it on GitHub. The second part are all optional extras. There are a few really neat things that you can do with GitHub, so we’ve prepared these extra topics for you to explore and try out if you find them interesting. You can do as many or as few of the optional extras as you please.
A bit of history
Git was created in 2005 by Linus Torvalds (who is also the creator of Linux). Linus was looking for an easy way to manage source code for Linux, which has thousands of developers all over the world. Frustrated with current tools, he wrote the first version of Git during a cross-Atlantic flight. It quickly became the defacto tool for storing and sharing source code thanks to its quick speed and versatility.
In 2008 GitHub launched. It allowed developers to share their Git repositories online free of charge. By September 2012 it was hosting 3.7 million repositories and had 2.1 million users. One of the key features of GitHub is the ability to “fork” or copy the repositories of other users. After forking, users can make changes locally and send a “pull request” to the original owner, allowing them to pull the changes back into their repository. This made following and contributing to projects significantly easier, and GitHub quickly became the place to be if you want to share your source code and contribute to other projects.
The course
- Setting up - Installation instructions for Windows, OSX and Linux.
- Your first repository - Create a git repository on your laptop and share it on GitHub.
- Social coding with the Underground - Contributing to the New (Social) World Order.
Extra fun stuff
- Learn Git Branching An interactive tutorial to more of the features of Git
- GitHub Explore
- GitHub Wikis
- Code snippets with Gist
- Hosting a website
- Delete and restore all your files
- Delete and restore your local repository
- Pushing to… Heroku!
Reference material
- Git Glossary
- Definitions of common git terms such as commit and working tree.
- The fundamental commands from the git manual - init, commit, push and pull.
- GitHub Bootcamp - A getting started guide for GitHub.
- Pro Git - The complete book on Git, available for free online.