Blog

January 23, 2017

From Bitbucket to GitLab

  • #programming
  • #tools
From Bitbucket to GitLab

After receiving an email from Bitbucket stating they will be changing their pricing, we had to decide as a team whether we are willing to continue using their services or if we could find something better.

While we've been using Bitbucket for quite a while, we always like to challenge the tools we use and we often go back and re-consider all the choices we make. This allows us to stay up to date with the constant changes and improve our efficiency when we find a better tool.


The choice

GitLab was intriguing because it looked similar in some ways to GitHub but was still very different. We created ourselves some accounts and decided to test it out. There was an extensive list of simple UI items that we loved over Bitbucket right away.


Transition

The transition was very easy as GitLab allows you to import projects from multiple sources, such as Bitbucket, GitHub, etc. We created ourselves a group for all of our projects and the import was as simple as clicking one button.

GitLab Import

The only thing left to do was to add our SSH key to our accounts and change the local project git remotes. All the tags, issues and branches were transferred and we were good to go.


After using GitLab for a bit over a month, here are some differences we noticed:

Menu

Let's say you're looking for a project.

Bitbucket has two horizontal menus with no explanation on which one does what.

Bitbucket menu

By default you land on the Overview tab on the lower menu. From here, you see an overview of your projects, but in order to really find what you're looking for, you need to navigate to the Repositories tab. Except... which one?

While the top menu has a Repositories item, it is only used to create or import a repository. The link in the bottom menu is what you need to click to view all your repositories. Would you have known unless you tried it?

GitLab has ONE horizontal menu and ONE vertical menu. While still two menus, things are starting to make more sense. It is a lot clearer which menu does what based on where they are positioned. One menu allows you to navigate across the website while the other allows you to navigate within your local view (Project, Group, Etc).

Finding your project has never been simpler.

GitLab menu


Issues

The issues are very hard to properly filter on Bitbucket as they only allow ascending or descending filters on the main page. In addition, their advanced menu is on a different page and every time you have to navigate to a different page it means you are wasting time.

Bitbucket issues

GitLab not only has advanced filters right from the start, they also offer a board to help project members get organized (much like Trello does, which we already use).

Gitlab issues filter


Snippets

While Bitbucket allows you to add snippets, you can only add global snippets and you cannot add project specific ones.

In GitLab, you can add global snippets, but you can also assign them to a specific project.


Pipelines

While both Bitbucket and GitLab have pipelines, GitLab pipelines are FREE.


Community

Bitbucket doesn't seem to pay too much attention to the community when new features are asked. For instance, the two factor authentication feature was asked in December 2012 but was only implemented on September 2015.

You can view the issue tracking for Bitbucket here

Looking at the GitLab issue tracking board, they seem to be taking into account all the feedback given to them, which is a good thing, and each new version brings a crazy amount of new features.

You can view the issue tracking for GitLab here


Name changes

When you want to merge two branches in Bitbucket, you have to create a pull request. GitLab changed the name to a merge request. This is not a major change, but still an important one.


Deployment keys

In Bitbucket you have to add deployment keys to each individual project even if two projects need to use the same key.

GitLab allows you to use an existing key, or add a new one. We like this feature as it allows us to quickly select which key to use rather than copy/paste an existing key.


Conclusion

Bitbucket is still a great tool to use depending on your needs. GitLab is of course not a tool without issues, but after a full month of using it, we are very happy with the change.

We would love to hear your thoughts on the matter. Feel free to contact us.

Corado