GitHub Enterprise vs. GitLab EE

GitLab compared to other tools

GitLab is the next-generation development toolset that covers 100% of your software development lifecycle.

GitLab unifies chat, issues, code review, CI, CD, and cycle analytics into a single UI. Unlike other source code management tools that only support a portion of your development lifecycle, GitLab delivers a unified experience for every step of the development lifecycle providing the most efficient approach to software delivery. So no matter what line of business you're in, GitLab gives you the edge to compete, innovate, and win.

FEATURES

Flexible permissions

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.

See the various roles

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.

Learn more about logging

Runs on metal

GitLab can run on metal, if you choose to. GitHub needs to be run in a VM.

HA setups

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.

More information about active servers

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.

Read about configuration management here

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.

More information about AD / LDAP 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.

Approvals Documentation

Ease of Migration

GitLab lets you easily migrate all repos and merge request data from your previous provider.

Confidential Issues

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.

Learn more about Confidential Issues

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.

Read the GitLab Enterprise Edition license.

A comprehensive API

GitLab provides APIs for most features, allowing developers to create deeper integrations with the product.

Read our API Documentation

Issue Weights

GitLab lets you manage issues using Agile practices by setting the weight of an issue.

Read our Issue Weights Documentation

Burndown Charts

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.

Read our Burndown Chart Documentation

Multiple assignees for issues

Assign more than one person to an issue at a time.

Read our Multiple Assignees Documentation