GitHub is a website and service that most geeks talk about, yet people don’t really understand what is, so I’ll try to explain in my words about what Github does.
To start with, we need to know about what 'Git' in GitHub is. Git is an open-source version control system that was started by the person who created Linux, Linus Trovalds. Git is similar to another version control systems like Subversion, CVS and Mercurial.
So, Git is a version control system, but what is a version control system?
When developers create something for example an app, they make constant changes to the code, releasing new versions after the first official release. Version control system keeps the revision straight, storing the modifications in a central repository and this would allow every developer to easily collaborate by downloading, making changes and uploading the newest version.
People who have nothing to do with the development can still download and use the files. Usually most of the Linux users would be accustomed to this process of using a Git, Subversion or any other similar method is pretty common for downloading files – especially in preparation of compiling a program from source code.
Git is actually the most preferred version control system of most developers as it has got multiple advantages over any other system available in storing file changes more efficiently.
Now, the 'Hub' in the GitHub. Git is a command-line tool, all things that involve Git revolve around the hub which together is GitHub.com where developers store their project and network with like minded people.
Why GitHub over other systems?
The repository, is a location where all files of a project are stored. Each project has its own 'repo' and it will be given its own unique URL.
Forking a repository, forking is when you create a new project based off another project that already exists and this is an amazing feature that encourages the development of programs and other projects. If there is project you like and you want to contribute then you can fork a repository, make changes and release as a new repository.
Pull requests. When you have forked a repository, and want it to be recognized by the original developers and be included in the official project then that can be done by pulling a request. The authors of the original repository can see your work and choose to accept it into the official project.
Social networking, this feature is probably the most powerful feature of the GitHub which allows the project to grow in wide ranges. Each user on the GitHub has a profile which holds your past work and contributions you made to projects by pulling requests.
Project revisions can be done publicly so that a mass of experts and developers can contribute their knowledge for the betterment of a project.
Changelogs: When multiple people work on revising a project it gets difficult to hold the track of the revisions about who changed what, when and where those files are stored. So, GitHub takes care of this by keeping the track of every change made.
This proves that this is actually one of the best platforms created for any person who likes to do software development.