Is Github service necessary to be maintained for Source Code Management (SCM)?

Before knowing what actually a Github is, you need to know what a Git is. A Git is commonly referred to as a distributed revision control system that stress on data integrity, speed and also the support for distributed workflows. Its predecessors like Subversion and CVS have a central repository of all the project files. If a developer makes any changes to the project, it is directly done on the central repository. But while using Git, the developers take a copy of the project on to their local system and works on the changes. That’s why Git is called as distributed version control system.

Github – Repository Hosting Service

A Github, an open source web hosting service provides source code management (SCM) and distributed revision control schemes of Git. It also adds its own feature to make everything possible for the developers. Generally, Github is referred as a social networking site for programmers.
GitHub Service

The most important function of Github is “forking”. It is a process of copying a repository from a user to another user. This forking helps in taking up a project to your account from another user to make any changes to it without affecting the original content on the repository. If you think the changes made are effective and would like to share it with the original owner, you always have the option to send “pull request” notification to the owner and with just a click, the original owner merges the old repository with the new repository.

The History of Github

Founded by Tom Preston-Werner, Chris Wanstrath and PJ Hyett in February 8, 2008, Github was one-of-its-kind of open source platform and the best hosting service that helps developers to repost their project and also patches with other projects. From then Github’s performance was on the hike. It was like over 100,000 users by the end of June, 2009. And just in a span of 4 to 5 year, Github reached 10 million repositories by December, 2013.

Github web hosting got hit in 2014 and present 2015, as it was blocked in Russia due to some content that was referred to as Suicide. It was also blocked in India in December, 2015 as it got repositories from ISIS, an activist group. Later in January 2015, Github was unblocked.

Claim Features of Github

Github, a code management system has been a pioneer to all other open source repository management systems. It has many important features compared with all other systems. Some of the key features are listed below.

  • Issue tracking that has been integrated allows developer to keep track of their issues and also helps arrange issues according to their status.
  • Many tested tools or field-tested tools are deployed which helps developer to use it then and there. These tools are kept open for public projects and secured for private projects.
  • Managing team within an open or private organization is easy. Github allows organization managers to limit the capabilities and usage of every member in the team. Each and every member is granted with accesses like Read, Write, and/or Admin-level access to the repositories.
  • With Windows and Mac applications, sharing is made simple. Github also has an Android app and mobile web views to help on-the-go user to be productive.

Is Github service necessary to be maintained for Source Code Management (SCM)?

This question is something which tweaks the brain of every developer as it relates Source Code Management with that of the Github services. Source code management service is something that every organization or individual look out for. Using Github services for the same purpose makes everything easy.

Yes, Github service is necessary to be maintained for Source Code Management (SCM). What other SCM like SVN or CVS do is that they store a copy of the repositories from the servers to the local system. But Github allows the developer to copy the entire repository to the local drive and once the relevant changes are made and when the connectivity is available, the files can be pushed in to the git repositories.

Git is something where you commit locally and push it in to the shared repositories while others like SVN/CVS is something that you checkout and commit. The difference is subtle but important!