Blog Company Comparing confusing terms in GitHub, Bitbucket, and GitLab (2017)
September 11, 2017
3 min read

Comparing confusing terms in GitHub, Bitbucket, and GitLab (2017)

Learn the differences between GitLab, GitHub, and Bitbucket's terminology.

comparing-confusing-terms-in-github-bitbucket-and-gitlab-cover

Developers rely on multiple platforms to manage repositories, depending on
client and project needs.
They might contribute to a community project on GitHub, while working on one
client's on premises GitLab instance and another client's project in Mercurial
on Bitbucket.
Confusion can arise when you switch between platforms.
In this post, we have a handy reference guide to explain
some potentially confusing terms, especially if you're new
to GitLab.

This article was originally written by Heather McNamee and published by GitLab on Jan 26th, 2016.
Updated by Marcia Ramos on Sep 11th, 2017.

Migrating to GitLab

Since GitLab's 8.4 Release, we have improved
migration support
for those coming from diverse platforms to GitLab.

GitLab imports your repositories, wikis, issues, pull requests, and milestones
from GitHub,
as well as from Bitbucket.

While most terminology is shared
between the platforms, some differences lead to confusion
for users.
Git-specific terms like commits, push, pull, fetch, merge and so forth are the same.
Common features most repository managers have are also the same: such as users, issues, webhooks, milestones, etc.

Pull requests vs merge requests

Some features have different names. For example a “pull request” in GitHub and Bitbucket is called a “merge request” in GitLab.

We figured since you're often making a request to merge a feature branch into the master branch, we call this a
"merge request" and you'll hear us talk about MRs and not PRs.

Read through this page for a full comparison between MRs and PRs.

If you’re brand new to GitLab, we’ve made this handy cheat sheet to help you orient yourself and clear things up.

The Import Project UI in GitLab showing you can import from GitHub, Bitbucket, etc

Teams, repositories, organizations?

From teams to repositories to organizations, there’s potential for fresh confusion.
In GitHub, repositories contain the Git/SVN repository, and the project assets
such as issues, contribution metrics, etc.
However users often refer to repos as projects interchangeably.

So in GitLab, we call that container a Project.
That includes the Git repository,
issues,
merge requests,
milestones,
and much more.

Creating a new project in GitLab

When you set up a project, you can, among many other options:

It's important to make this distinction because you import a project in
GitLab, regardless of whether that is called a repository elsewhere. In
GitLab, the repository is part of a project.

The Import Project UI in GitLab showing you can import from GitHub, Bitbucket, etc

Projects, organizations, and groups

This is where it could get confusing.
Now Bitbucket groups multiple repositories into Projects, multiple projects into teams,
and teams in Bitbucket are analogous to an Organization in GitHub.

In GitLab, we call this a Group.

This allows you to collect several projects together and also invite
members (other users) to collaborate. Those members can then configure their own group-level notifications.

Projects can be stored in only one group at once.
However, you can share a project with other groups in GitLab Enterprise Edition Starter.
And even those settings can be locked at the group level so you can avoid
someone sharing a private project to other groups, for example.

The confusion is understandable, especially if, like many developers,
you work with a number of clients each on different platforms.

I hope this has cleared up confusion. If you have any questions, please create a
new issue or
tweet at us @GitLab!


Cover image licensed under CC0.

We want to hear from you

Enjoyed reading this blog post or have questions or feedback? Share your thoughts by creating a new topic in the GitLab community forum. Share your feedback

Ready to get started?

See what your team could do with a unified DevSecOps Platform.

Get free trial

New to GitLab and not sure where to start?

Get started guide

Learn about what GitLab can do for your team

Talk to an expert