It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to migrate to Bitbucket from GitLab, Gerrit, ...


in my company there are multiple GIT solutions in place right now. We think about buying Bitbucket on a large scale and use it as the only solution but we have to consider how to migrate the projects from Gerrit, Gitlab, ... into Bitbucket.

Are there any migration/import tools available to migrate the GIT repositories AND the metadata (like pull requests, code review findings) seamlessly into Bitbucket?

I was searching in the Atlassian documentation and via google but the only thing I found was some guidelines or tool features on how to import the GIT repositories into Bitbucket from some other system like GitHub. I am missing the metadata import here.

Please share the necessary information with me.

Thank you

2 answers

1 vote

Hi Martin, you can import the source code and history to Bitbucket Server as explained at Importing code from an existing project. However, you'll need to manually recreate all metadata such as permissions, comments, pull requests etc. either from the Bitbucket Server GUI or programmatically using the Bitbucket API. We have a feature request to make this process easier, and you can vote for it at BSERV-3555. All other data such as repo history is stored in the .git directory.

Let us know if you have any questions!

Best regards,


Ok. That was the information I already found myself. Regarding the API to create pull requests and other related data:

I guess it is not possible to create pull requests and comments/tasks with a specific timestamp so that I can manually recreate the very same data like e.g. stored in GitLab.
I assume when I create a PR, comment or task the timestamp of that element is given by the system and cannot be changed, correct?

1) Create the repository in Bitbucket using the UI

2) Clone the Gitlab repository using the "--bare" option

git clone --bare GITLAB-URL

3) Add the Bitbucket remote

git remote add bitbucket BITBUCKET-URL

4) Push all commits, branches and tags to Bitbucket

git push --all bitbucket
git push --tags bitbucket

5) Remove the temp repository

cd ..
rm -rf REPO-NAME


Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bitbucket Pipelines

Building a Bitbucket Pipe as a casual coder :  #!/bin/bash source "$(dirname "$0")/" enable_debug extra_args="" if [[ "${DEBUG}" == "true" ]]; then extra_args="--verbose" fi # mandatory variables R...

4,010 views 4 22
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you