Bitbucket.org vs. GitLab.com

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

Free unlimited collaborators

With GitLab.com, you don't have to start paying when you have more than 5 collaborators across all your private repositories.

Free CI with Shared or Own Runner

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

Track app deployments with Deploy Boards

Deploy Boards offer a consolidated view of the current health and status of each CI environment running on Kubernetes, pod by pod. Not available with BitBucket Pipelines.

Learn more about Deploy Boards

Fast page load

Bitbucket.org has faster pageloads than GitLab.com right now, we're actively working on improving this. Self-hosted instances of GitLab CE/EE will be performant up to thousands of users.

Read more

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

Innersourcing

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

Find out more about innersourcing

Work-in-Progress Protection

Simply add 'WIP' to the title of a merge request to prevent anyone from merging it. This gives you all the code review power of merge requests, while protecting unfinished work.

WIP Merge documentation

Commit graph and reporting tools

GitLab provides commit graphs and reporting tools about collaborators' work. Bitbucket does not have that.

Email notifications and todos

GitLab provides advanced notification mechanisms to let developers know what happens in the project.

Ability to block certain filetypes to be pushed

GitLab allows you to define rules to prevent certain filetypes to be pushed. Bitbucket requires a paid plugin to achieve this functionality.

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. Bitbucket hasn't made significant steps to reach this stage.

Making GitLab better for large open source projects

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. Bitbucket does not have issues.

Due date

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

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. Bitbucket does not have issues.

Group-level milestones

View all the issues for the milestone you’re currently working on across multiple projects. Bitbucket does not have milestones.

Example milestone for GitLab 8.2 (need to be logged in)

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. Bitbucket does not have issues.

See how in our documentation

Application performance monitoring

GitLab collects and displays performance metrics for deployed apps, leveraging Prometheus. Developers can quickly and easily determine the impact of any changes, without leaving GitLab. Bitbucket requires a 3rd party product, adding additional cost and separate workflows.

Learn more about monitoring deployed apps

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. Bitbucket can't provide this data.

Feature Highlight: Cycle Analytics

Slash commands

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

Documentation about slash commands

Issue board

Bitbucket has acquired Trello, but is not integrated with it. GitLab has built-in Issue boards, integrated with the rest of the tools.

Feature highlight: Issue Boards

Time tracking

Time Tracking in GitLab lets your team add estimates and record time spent on issues and merge requests. Bitbucket doesn't have this feaure out of the box.

Check the Time tracking feature

Built-in Docker 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

New features every month

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