The heart of GitHub is Git which is an open source repository hosting service that manages and stores revisions of projects. Although it’s mostly used for storing code, Git could be used to manage any other type of files, what makes it a universal filing system for every draft of any type of document.
Unlike some similar hosting services, Git doesn’t have a central repository of all the files associated with a project, so developers don’t have to connect to the server every time they make any change.
Although GitHub is mostly considered a traditional repository hosting service, it adds many of its own features. While Git represents a command line tool, GitHub provides a Web-based graphical interface. It also gives access control and the range of collaboration features, such as a wikis and basic task management tools.
The primary function of GitHub is copying a repository from one user’s account to another. This enables developers to take a project that they don’t editing rights and modify it under their own account. If people make changes and want to share them, they can send a notification to the original owner who in his turn can then merge the changes found in his repo with the original repository.