The Great Migration to GitLab

The Great Migration to GitLab in Open Source community

Spread the love

GitHub / GitLab / Bitbucket are homes for developers to share their open source projects to the public for free. We have seen so many great projects there in GitHub. Like the winning data science learning model — XGB, Python’s micro web framework — Flask, Microsoft’s own light and fast learning model — LGB and the list goes on. Of course, projects from our previous posts, Python CNN image recognizer, eBay Daily Deal Scraper, Easy Weather Forecast web app and others are stored on GitHub as well. Then what’s going on there?

Microsoft acquired GitHub for USD 7.5 Billion on 4th June, 2018.

The Great Migration begins

After the acquisition news had gone public, people just flooded to other GitHub alternatives. And GitLab is one of them. According to GitLab, there were about 21,000 projects being imported within a single hour.

projects imported in a single hour

As I mentioned on previous post, I am a long time Microsoft’s products user, I know that feel bro. There is nothing change on GitHub currently, but deep down from our hearts, we believe Microsoft might ruin GitHub eventually (the same thing applies to Oracle and Electronic Arts, when they buy a company). So we should move our projects to other open source platforms. And GitLab is a fast and easy choice.

Steps for the GitLab Great Migration

Moving to GitLab is easy, but before we start, we have to ensure following things:

  1. you have both GitHub and GitLab accounts
  2. both GitHub and GitLab accounts are using the same eMail address

Once those are ready, we login to GitLab web site and press “New project” button on the upper right side.

Create new project in GitLab

From the new project page, select “Import project” tab and click the “GitHub” button from the [import project from] section.

Import projects from GitHub

Before we importing projects from GitHub, we need to authorize GitLab to access our GitHub repositories. After the authorization process, the rest is easy. All we need to do is press the import repository button. And the system will do the remaining work for you. You can import your project one by one, or simply press the import all button. (It may take a while if you have many projects to import)

It is easy to migrate projects from GitHub to GitLab

After a coffee/ soda / lunch / dinner (depending on how many projects you have) break, GitLab has migrated our projects from GitHub to our new home. There is only one more step to finish our great migration — set the project visibility.

Change Project Visibility

GitLab will set our imported projects as private project by default. We can go to project setting to set it back to public project. As of this moment, there is no bulk action to change the project visibility. So we have to set it one by one. Luckily, a few clicks can make the job done.

First, we select one of our project. Then click the setting icon on the left side of the menu bar and click “General”.

Project general setting page

On the General project settings page, go to the [Permissions] section and select “Public” on [Project visibility]. That’s it!. Now people can fork / clone our GitLab projects likes the way we do in GitHub.

Set project visibility

Final Thoughts

You may know, I am no fan of Microsoft. But according to its stock performance, annual revenue and brand value, Microsoft is an enterprise that makes “good for business” decisions. Microsoft may integrate GitHub to its “money maker”, Azure cloud platform, to provide better business solutions. Although Microsoft’s acquisition is a sad news for a GitHub user likes me, it is true that GitHub can run way further under Microsoft’s wing and its network.


What have we learnt in this post?

  1. How to import projects from GitHub to GitLab
  2. Set the project visibility on GitLab
  3. When one door closes, another opens