To understand GitHub, you must first have an understanding of Git. Git is an open-source version control system that was started by Linus Torvald’s the same person who created Linux. Git is similar to other version control system’s Subversion, CVS, and Mercurial to name a few.
So, Git is a version control system, but what does that mean? When developers create something (an app, for example), they make constant changes to the code, releasing new versions up to and after the first official (non-beta) release.
Version control systems keep these revisions straight, storing the modifications in a central repository. This allows developers to easily collaborate, as they can download a new version of the software, make changes, and upload the newest revision. Every developer can see these new changes, download them, and contribute.
Similarly, people who have nothing to do with the development of a project can still download the files and use them. Most Linux users should be familiar with this process, as using Git, Subversion, or some other similar method is pretty common for downloading needed files’s especially in preparation for compiling a program from source code (a rather common practice for Linux geeks).
Git is the preferred version control system of most developers, since it has multiple advantages over the other systems available. It stores file changes more efficiently and ensures file integrity better.
‘Hub’ in Github meaning
We’ve established that Git is a version control system, similar to but better than the many alternatives available. So, what makes GitHub so special? Git is a command-line tool, but the center around which all things involving Git revolve is the hub GitHub.com where developers store their projects and network with like minded people.
GitHub Isn’t Just for Developers
All this talk about how GitHub is ideal for programmers may have you believing that they are the only ones who will find it useful. Although it’s a lot less common, you can actually use GitHub for any type of file. If you have a team that is constantly making changes to a word document, for example, you could use GitHub as your version control system. This practice isn’t common since there are better alternatives in most cases, but it’s something to keep in mind.