Is version control software designed specifically to keep track of the changes made to files over time? In other words, Git is a distributed revision control system which means that every Git directory on every computer is a full-fledged repository with the full history of the project, not just the current state of the files.
is a well-known web-based code hosting Git repository for version control? It provides distributed revision control with source code management of Git alongside its various other features. It is a website where you can upload a copy of your repository. It allows developers to collaborate and work from anywhere in the world. It does so by providing a centralized location to every repository. Unlike the Git(software), which is a command-line tool, it provides features like the web-based graphical interface and pulls requests issues, which allow its users to specify review changes, and discuss with team members.
Github offers free accounts for public repositories and paid accounts for private repositories. Github’s Public repositories are freely available and are mostly used for open source project hosting. While both registered and unregistered users can view and use public repositories but only registered users can discuss, manage, create repositories, submit contributions to other repositories, and can look to previous changes to the code. Github Enterprise was designed specifically for use by large-scale enterprise software development teams.
Github site was launched in April 2008. It was written in Ruby on Rails and Erlang by Github’s, Inc. founders & developers Tim Preston-Werner, Chris Wanstrath, and PJ Hyett. Recent Github reports show that it has more than 14 million users with over 38 million repositories, making Github the world’s largest repository for source code. Companies that are using Github and engage in open source are Google, Adobe, Twitter, PayPal, LinkedIn, Yahoo, Facebook, etc.
Github is much more than just a place to store Git repositories. Its additional features include:
Like GitHub, GitLab is a web-based Git repository manager that allows diverse/distributed team members to collaborate on code, test, and duplicate code to safely create and edit new projects, then merge finished code into existing projects. It provides Git repository management with smooth access controls, wikis, activity feeds, code reviews, issue tracking, and continuous integration. The company offers hosted accounts similar to Github and also allows it to be used on third-party servers. Gitlab was founded with the vision that everyone can contribute to all digital content.
GitLab Inc. has 4 types of repositories or editions:
History
Gitlab was written in Ruby by Dmitriy Zaporozhets. Gitlab reports show that it has more than 1000 open source contributors and it is used by more than 100,000 organizations including NASA, Alibaba, CERN, IBM, EA, Sony, Ericsson, Intel, Lockheed Martin, etc.
Gitlab features like permissions, authentication, and branch protection are making it popular among other web-based Git repositories.
GitLab has everything that GitHub has, and giving teams increased control over their repositories. Its extra features include:
Both allow users to assign different permissions to modify people’s roles.
You can attach any file to any issue or comment in Gitlab but that’s not the case in Github.
This ‘Work in Progress’ title prevents merging of finished code with the unfinished one.
Innersourcing
This Gitlab feature allows developers to browse and share other projects active in the company and can contribute by sharing skills in other projects of the company.
The issue tracker of GitLab is more powerful than GitHub’s issue tracker and the interface of GitLab is rather easy to use as compared to GitHub.
Features | GitHub | GitLab |
Launched | April 2008 | September 2011 |
Pricing | Free for public repositories / Paid plans for private repositories | Unlimited public and private repositories / unlimited public and private collaborators |
Issue tracking | Yes | Yes |
Wikis | Yes | Yes |
Code review features | Yes | Yes |
Protected branch | Yes – paid plans | Yes |
Build system | Yes -3rd party service | Yes |
Self-hosting | Yes -with the enterprise plan | Yes |
Detailed pricing plan | Free: public projects / $7/month: Personal plan / $21/month: organization plan / $2.500/year: Enterprise | Free: gitlab.com / Free: GitLab Community Edition / $39 / Year: GitLab Enterprise |
On an enterprise level, there are other factors that must be considered when making any decision on whether to use GitLab or GitHub. If you just consider cost factor, GitLab has the most competitive pricing plan of $39/year (per user) as compared to Github’s $ 2500 per 10 users/year. So, it is better to consider other factors as well, before choosing any one of the two.
GitLab is still new as compared to Github and if it wants to compete with Github on a user level, it has a long way to go. There is no doubt in the fact that Gitlab is a cheap and great (probably one of the best) alternatives to Github offers, some good features, and benefits that enterprises might miss in Github. If the price is not an issue, you don’t mind closed-source, and you’re OK with its installation options then choose GitHub Enterprise Edition.