GitLab compared to other tools

This page compares GitLab to non-GitLab software. To compare different versions of GitLab with each-other see our self hosting products and GitLab.com SaaS plans.


GitLab.com Silver vs. GitHub.com

FEATURES

Free CI with Shared or Personal Runners

GitLab.com has shared runners that allow you to use GitLab CI completely free up to 2000 build minutes for private projects and unlimited for public projects. Alternatively, you can set up your own Runner for faster build processing, unlimited build minutes, or special requirements.

Explore GitLab.com offerings

Built-in CI/CD

GitLab has built-in Continuous Integration/Continuous Delivery, for free, no need to install it separately. Use it to build, test, and deploy your website (GitLab Pages) or webapp. The job results are displayed on merge requests for easy access.

Learn more about CI/CD

Innersourcing

Internal projects in GitLab allow you to promote innersourcing of your internal repositories.

Find out more about innersourcing

Commit graph and reporting tools

GitLab provides commit graphs and reporting tools about collaborators' work.

Learn more about commit graphs

Group-level milestones

Create and manage milestones across projects, from the group level. View all the issues for the milestone you’re currently working on across multiple projects.

Learn more about group-level milestones

Availability

GitLab.com is at 99.5% availability while we want to be above 99.95%. We're hiring to improve this in the last two months of 2017 and in 2018.

GitLab.com status

The best place for large open source projects

GitLab is meant to be the best place for any software project. The team behind GitLab is addressing issues that maintainers and contributors to large open source projects are facing, to make it easier to do both.

Making GitLab better for large open source projects

The most comprehensive import feature set

GitLab can import projects and issues from more sources (GitHub, BitBucket, Google Code, FogBugz, Gitea and from any git URL) than GitHub or any other VCS. We even have you covered for your move from SVN to Git with comprehensive guides and documentation.

Making it easier to get up and running with GitLab

Export projects

GitLab allows you to export your project to other systems.

We don't restrict access to your data

Powerful Issue Tracker

Quickly set the status, assignee or milestone for multiple issues at the same time or easily filter them on any properties. See milestones and issues across projects.

Learn more about the Issue Tracker

Due dates for individual issues

In GitLab, you can set a due date for individual issues. This is very convenient if you have small tasks with a specific deadline.

Due dates documentation

Move issues between projects

You can move issues between projects in GitLab. All links, history and comments will be copied and the original issue will reference the newly moved issue. This makes working with multiple issue trackers much easier.

Learn more about moving issues between projects

Create new branches from issues

In GitLab, you can quickly create a new branch from an issue on the issue tracker. It will include the issue number and title automatically, making it easy to track which branch belongs to which issue.

See how in our documentation

Allow edits from upstream maintainers in branch

In GitHub, when a user opens a pull request from a fork, they are given the option that allows the upstream repository contributors to collaborate with them on their new branch. GitLab allows you to restrict pushes very carefully, but does not have this option.

GitLab issue to implement the same feature

Application performance monitoring

GitLab collects and displays performance metrics for deployed apps, leveraging Prometheus. Developers can determine the impact of a merge and keep an eye on their production systems, without leaving GitLab.

Learn more about monitoring deployed apps

GitLab server monitoring

GitLab comes out of the box enabled for Prometheus monitoring with extensive instrumentation, making it easy to ensure your GitLab deployment is responsive and healthy.

Learn more about monitoring the GitLab service

Cycle Analytics

GitLab provides a dashboard that lets teams measure the time it takes to go from an idea to production. GitLab can provide this data because it has all the tools built-in: from the idea, to the CI, to code review, to deploy to production.

Learn more about Cycle Analytics

Quick actions

GitLab provides a convenient way to change metadata of an issue or merge request without leaving the comment field with slash commands.

Documentation about quick actions

Issue Boards

GitLab has Issue Boards, each list of an Issue Board is based on a label that exists in your issue tracker. The Issue Board will therefore match the state of your issue tracker in a user-friendly way.

Learn more about Issue Boards

Drag and drop tasks

You can change the order of tasks in markdown on GitHub. GitLab does not have this ability, but is considering implementing it.

See the GitLab issue to implement this

First time contributor badge

Highlight first-time contributors in a project.

SUPPORT file link

Link from new issues to a SUPPORT file, pointing to support resources.

See the GitLab issue to implement this

Built-in Container Registry

GitLab Container Registry is a secure and private registry for Docker images. It allows for easy upload and download of images from GitLab CI. It is fully integrated with Git repository management.

Documentation on Container Registry

Time tracking

Time Tracking in GitLab lets your team add estimates and record time spent on issues and merge requests.

Learn more about Time Tracking

Preview your changes with Review Apps

With GitLab CI/CD you can create a new environment for each one of your branches, speeding up your development process. Spin up dynamic environments for your merge requests with the ability to preview your branch in a live environment.

Learn more about Review Apps

New features every month

GitLab is updated with new features and improvements every month on the 22nd.

IPv6 ready

If you host GitLab yourself, IPv6 is supported as long as your underlying provider can support it. GitLab.com on the other hand does not support IPv6 at the moment due to limited provider support.

Read about the different ways to install GitLab

Ease of migration from other providers

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

Learn how to migrate your projects to GitLab

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

Related issues

Explicitly mark issues as related and track their status.

Learn more about Related Issues

A comprehensive API

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

Read our API 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

Search files with fuzzy file finder

GitLab provides a way to search a file in your repository in one keystroke.

Read about the file finder in our documentation

Multiple assignees for issues

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

Read our Multiple Assignees Documentation

Squash and merge

Combine commits into one so that main branch has a simpler to follow and revert history.

Learn more about squash and merge

Remote repository mirroring

Mirror a repository from elsewhere on your local server.

Learn more about repository mirroring

Export issues as CSV

Issues can be exported as CSV from GitLab and are sent to your default notification email as an attachment.

Learn more about exporting issues as CSV

Granular user roles and flexible permissions

Manage access and permissions with five different user roles and settings for external users. 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.

Learn more about User Roles

Inline commenting and discussion resolution

Code or text review is faster and more effective with inline comments in merge requests. Leave comments and resolve discussions on specific lines of code. In GitLab, Merge Request inline comments are interpreted as a discussion. You can configure your project to only accept merge requests when all discussions are resolved.

Learn more about resolving discussions

Code Owners

The ability to specify code owners or reviewers in the repository.

GitLab's issue to implement this

Deploy Boards

GitLab Enterprise Edition Premium ships with Deploy Boards offering a consolidated view of the current health and status of each CI environment running on Kubernetes. The status of each pod of your latest deployment is displayed seamlessly within GitLab without the need to access Kubernetes.

Learn more about Deploy Boards

Configurable issue closing pattern

Define your own specific keywords to close one or more issues as soon as a merge request is merged.

Learn more about automatically closing issues

Navigate to method/function in a merge request diff

When viewing a merge request diff, navigate directly to a method/function in a changed file.

See the GitLab issue to implement this feature

Custom Git Hooks

Leverage the power of Git Hooks and chain them together to fire off custom scripts when certain actions occur on the repository. If the commit is declined or an error occurs during the Git hook check, the error message of the hook will be present in GitLab's UI. GitLab supports all types of hooks.

Learn how to use Git Hooks with GitLab

Integrated Git-powered wikis

A separate system for documentation called Wiki, is built right into each GitLab project. Every Wiki is a separate Git repository.

Learn more about GitLab Wikis

Responsive-first design

GitLab is built with a responsive-first design approach. Be it on a desktop, tablet or smartphone, GitLab is optimized to be viewed for the best result.

Community based, users can help shape the product

GitLab has open issue trackers for almost all of its operations. From GitLab itself to infrastructure and marketing, you can help shape the product.

View all GitLab contributors

Download as PDF

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.

GitLab is the trademark of GitLab, Inc. All other logos and trademarks are the logos and trademarks of their respective owners.

GitLab is open core

GitLab is an open-core product whereas our competitors are mostly closed-source products. The GitLab Community Edition is fully open source, and the Enterprise Edition is open core (proprietary).

Access to the source code

Unlike closed source software, you can see and modify the GitLab Community Edition and Enterprise Edition source code at any time. Be it right on the server or by forking our repositories, you can add features and make customizations. We do recommend that you try to merge your changes back into the main source code, so that others can benefit and your instance stays easy to maintain and update.

Build with a community

GitLab is built by hundreds of people every month. Customers, users and GitLab, Inc. all contribute to every release. This leads to features that organizations actually need, such as easy, yet powerful user management.

Viable long term

GitLab has a solid community with hundreds of thousands of organizations using and often contributing to the software. This means that GitLab is much more viable for long term usage, as it's not reliable on a single company supporting it.

New stable version every month

GitLab releases a new stable version every single month, full of improvements, new features, and fixes. This allows GitLab to move fast and respond to customer requests extremely quickly.

Choose the GitLab edition that is best for your team

Explore our products

Try GitLab Enterprise Edition risk-free for 30 days.

No credit card required. Have questions? Contact us.