What Is GitHub and Why You Need to Join It
GitHub 101 – Module 1/4
When GitHub went down yesterday for a couple of hours the reactions seen across the web were along those lines:
Why such unrest? What does this service provide to make it so relevant? What am I missing? And most importantly, …
What Is It?
To better answer this question, we need a bit of storytelling.
In April 2005, Linus Torvalds – the creator of Linux himself – released a software to manage the open-sourced development of the OS kernel that had 483 collaborators at the time. Simply put, its major features were:
- Keep track of changes
The date and time of each change, as well as its author, were recorded
- Merge changes
Allowed several individuals to work in the same file, combining all changes made by them into a final version
- Recall specific versions
Made it able to retrieve the state of any file to any previous version
Fast-forward two years. By the accounts of a developer, despite being very powerful, Git “was really complicated to use. People didn’t know if it made sense. The command line interface was really quite complex.… Everything was a pain in the ass. So myself and some of the people I hung out with, got together and said, ‘Let’s just make the simplest thing possible to share Git repositories in a really slick way’.”
Then GitHub was born by the hands of Tom Preston-Werner (the one who is quoted above), Chris Wanstrath, PJ Hyett, and Scott Chacon. At its core, GitHub is a server for storing Git projects, thus having all of Git’s features aforementioned. However, on top of that, it builds and provides much more:
- Issue tracking
A ticket system for bugs, to-dos, requests and
Yes, you can create your project’s own wiki very easily and host it on GitHub
- Static website
Yup, this too
Number of changes to the project, when they are more frequent, who does more of them, and more
- Social network
You have a profile, which can be followed by other persons (and vice-versa, of course); you can not only see but also participate in other people’s projects; you can even blog!
This is the first of four posts about GitHub for beginners. In the next one we talk about its workflow.