Step 1: Install the GL2GH extension of the GitHub CLI
GitHub Enterprise Importer is a collection of extensions for GitHub CLI. If this is your first migration, you'll need to install GitHub CLI and the GL2GH extension.
-
Install the GitHub CLI.
- For installation instructions for GitHub CLI, see the GitHub CLI repository.
- If you already have GitHub CLI installed, run
gh --versionto ensure you're running version 2.4.0 or newer. If you have an older version, visit the GitHub CLI repository for upgrade instructions.
-
Install the GL2GH extension.
Shell gh extension install github/gh-gl2gh
gh extension install github/gh-gl2gh -
The GL2GH extension of the GitHub CLI is updated frequently. To make sure you're using the latest version, update the extension.
Shell gh extension upgrade github/gh-gl2gh
gh extension upgrade github/gh-gl2gh
Step 2: Set environment variables
Before you can use the GL2GH extension to migrate to GitHub Enterprise Cloud, you must create personal access tokens that can access the source and destination, then set the personal access tokens as environment variables.
-
Make sure you have your personal access tokens for both GitHub and GitLab ready. See Manage access for a migration from GitLab to GitHub if you haven't already created a token.
-
Set environment variables for the personal access tokens, replacing TOKEN in the commands below with the personal access tokens you previously created. Use
GH_PATfor the destination organization andGITLAB_PATfor the source GitLab instance.-
If you're using Terminal, use the
exportcommand.Shell export GH_PAT="TOKEN" export GITLAB_PAT="TOKEN"
export GH_PAT="TOKEN" export GITLAB_PAT="TOKEN" -
If you're using PowerShell, use the
$envcommand.Shell $env:GH_PAT="TOKEN" $env:GITLAB_PAT="TOKEN"
$env:GH_PAT="TOKEN" $env:GITLAB_PAT="TOKEN"
-
-
If you're migrating to GitHub Enterprise Cloud with data residency, for convenience, set an environment variable for the base API URL for your enterprise.
Ensure you replace
SUBDOMAINwith your enterprise's subdomain. For example, if your enterprise's subdomain isacme, theTARGET_API_URLvalue would behttps://api.acme.ghe.com.-
If you're using Terminal, use the
exportcommand.Shell export TARGET_API_URL="https://api.SUBDOMAIN.ghe.com"
export TARGET_API_URL="https://api.SUBDOMAIN.ghe.com" -
If you're using PowerShell, use the
$envcommand.Shell $env:TARGET_API_URL="https://api.SUBDOMAIN.ghe.com"
$env:TARGET_API_URL="https://api.SUBDOMAIN.ghe.com"
You'll use this variable with the
--target-api-urloption in commands you run with the GitHub CLI. -