Blog DevSecOps GitHub to GitLab migration the easy way
2023-07-11
2 min read

GitHub to GitLab migration the easy way

Learn how easy it is to migrate from GitHub to GitLab using GitLab's project import functionality.

julia-craice-faCwTallTC0-unsplash.jpg

If you are using different CI/CD tools and are considering migrating over to GitLab, you may be wondering about
the difficulty of the migration process. Migration is usually a concern for DevSecOps teams when considering a new solution.
This is due to the fact that migrating may involve heavy lifting. However, migrating to the GitLab AI-powered DevSecOps Platform can be extremely simple and I will show you how step by step.

In this blog post, we will go over how to migrate from GitHub to GitLab using our project import functionality. Manually
migrating GitHub Actions to GitLab pipelines will be covered as well. I have also created a video going over the migration process for those who prefer that format:

What data can be migrated from GitHub to GitLab?

GitLab's built-in importer allows for GitHub projects to be automatically migrated into GitLab. The built-in importer
is accessed directly from GitLab's project creation UI. From the UI, you can select what data you wish to migrate to GitLab.
The data that can be migrated includes the following:

  • Repository description
  • Git repository data
  • Branch protection rules
  • Collaborators (members)
  • Issues
  • Pull requests
  • Wiki pages
  • Milestones
  • Labels
  • Release notes content
  • Release notes attachments
  • Comment attachments
  • Issue description attachments
  • Pull request description attachments
  • Pull request review comments
  • Regular issue and pull request comments
  • Git Large File Storage (LFS) objects
  • Pull request reviews
  • Pull request assigned reviewers
  • Pull request “merged by” information
  • Pull request comments replies in discussions
  • Pull request review comments suggestions
  • Issue events and pull requests events

GitHub and GitLab have different naming conventions and concepts, so a mapping must be performed during the migration.
For example, when collaborators/members are migrated, roles from GitHub are mapped to the appropriate GitLab roles as follows:

GitHub role GitLab role

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