GitLab EE vs. GitHub Enterprise
Set permissions according to people's role, rather than either read or write access to a repository. Don't share the source code with people that only need access to the issue tracker.
New features every month
GitLab is updated with new features and improvements every month on the 22nd.
One integrated tool
Other tools require the integration of multiple 3rd party tools to complete the software development lifecycle. GitLab has a completely integrated solution that covers the entire development lifecycle.
Access to the server
You have complete control of the server/instance, so you can install additional software (intrusion detection, performance monitoring, etc.) and view log files on the server itself.
Runs on metal
GitLab can run on metal, if you choose to. GitHub needs to be run in a VM.
For mission critical releases, you cannot afford downtime. GitHub bundles everything (app server, database etc) into a virtual appliance, while GitLab offers support for HA. GitHub also requires you to shut down your server for back-ups preventing the delivery of code, while with GitLab, you can work in readonly mode during backups.
Run your own software on your instance
You are free to run your own software on the instance that GitLab is running on. Have your own intrusion detection system? No problem.
Use your configuration management software
GitHub requires the complex configuration of integration tools, from CI to chat apps. With GitLab, you can use your choice of configuration management software, from Puppet, Chef, Ansible for quick and straightforward implementation.
Use standard Unix tools for maintenance and monitoring
Use the tools you know for monitoring and maintenance, whether they're standard or your own. GitLab doesn't restrict you.
Powerful AD / LDAP integration
Sync groups, manage SSH-keys, manage permissions, authentication and more. You can manage an entire GitLab instance through the LDAP / AD integration.
Multiple approvals in code review
In GitLab, to ensure strict code review, you can require a specific number of approvals on a merge request by different users before being able to merge it. You can undo an approval by removing it after the fact.
Ease of Migration
GitLab lets you easily migrate all repos and merge request data from your previous provider.
Keep your information secure with Confidential Issues. With GitLab, you can create confidential issues visible only for project members with Reporter access level or above.
Access to and ability to modify source code
GitLab Enterprise Edition is publicly readable, meaning you can scan or modify the code to meet your security and development needs. The code used by most other providers is proprietary, meaning you cannot edit or view the source code.
A comprehensive API
GitLab provides APIs for most features, allowing developers to create deeper integrations with the product.
GitLab lets you manage issues using Agile practices by setting the weight of an issue.
GitLab provides Burndown Charts as part of Milestones. This allows users to better track progress during a sprint or while working on a new version of their software.
Multiple assignees for issues
Assign more than one person to an issue at a time.
Since GitLab fans wrote most of the text here there is a pro-GitLab bias. Nonetheless we try hard to ensure the comparisons are fair and factual. Please also add things that are great in other products but missing in GitLab. If you find something that is invalid, biased, missing, or out of date in the comparisons, please open a merge request for this website to correct it. As with all the pages on this website you can find where this page lives in the repository via the link in the footer. All names and logos are recognized trademarks of their respective owners.