Have you ever heard of GitHub? In case it is a new concept for you, here you will learn what it is all about and why is it used for. It is basically a web based Git Repository hosting service and provides a web-based graphical interphase along with other added features. In order to understand what it is, it important to first understand what Git is. Git is basically an open source command line tool or a system that was invented by Linus Torvalds. Yes, he is the person who is the founder of Linux. It is similar to the control systems like Mercurial, CVS and subversion.
So, what does it mean by Git being a Version Control System? Let’s find out. When the developers create some app or anything new, they keep on making changes to the code and release new version even after the first official release. With the version control system, these revisions are kept straight and the modifications are stored in the central repository. This helps the delivers collaborate and they can readily download the latest version of the software, make modifications and upload the new version of the app. All developers use this mechanism whenever they have to come up with something new.
For some projects, people download the files and use them anyways. All the Linux users have to be familiar with this process if they are using Git or any other subversion. So, the next question is, why is Git the most preferred version control system among developers? There are lots of reasons behind it and for that you need to check out how Git works.
GitHub is basically a web based Git repository hosting service. It is responsible for the distributed revision control and source management functionality of Git and it also comes with its own set of features. Git is the command line tool whereas GitHbut provides you the web based graphical interface. It also provides access control and a number other collaboration features like basic task management tools for each project.
How does it function?
The basic or flagship functionality of GitHub is known as forking. It is the process of copying a repository from one user’s account into another. It lets you take the project which you do not have the write access to and modify it under your own account. In case you have made such changes which you would like to share, you can send the pull request notification to the owner. The owner when clicks the button can allow the changes to be merged into the original repository.
GitHub has three features which make it powerful i.e.
- Pull request
Before GitHub, it was quite hard to manage the modifications. You had to manually download the source code of the project and then make changes locally. Then you had to create a list changes called patch. You had to email patch to the maintainer of the project. He would evaluate the patch and then decide whether he would like to merge the changes introduced by a total stranger or not.
Ever since GitHub has been introduced, things have become easy. By using the pull request, you can readily make changes. The maintainer of the project sees your profile, which gives him complete details of all the contributions made by you on GitHub. If he accepts your patch, you get credit on your original site and it even shows up on your profile. With this new change, you are actually adding up more skills to your resume. You can also discuss the patches publically and make the project even better by making your contributions. That is an awesome way to make the young projects grow. That’s not it, GitHub also helps sell the private repositories of the software for enterprises. Although these solutions cannot take complete advantage of the network effect created by GitHub but it can surely take advantage of the collaborate features. With this process, GitHub makes huge money. This money can be in the private or on-premise hosting. By using Git, the newbie programmers can trade the steps followed by the greatest developers and find the problems in a project. That’s why this new service has taken the IT world by storm.