This repo can be used to demo GitHub Enterprise Importer (GEI)
GitHub CLI
GitHub Enterprise Importer CLI
Powershell
gh-repo-stats
gh-migration-audit
Blob storage if migrating from GHES
- Make sure gh-gei is up to date by running
gh extension upgrade github/gh-gei- Copy
setenv.sh.origtosetenv.shand populate it with values for your migration. - Run
gh-repo-stats.shto demo gh-repo-stats. - Run
gh-migration-audit.shto demo gh-migration-audit. - Run
migrate-repo.shto demo a repo migration. - (Optional) Run
gen-migration-script.shto demo generating a migration script. - (Optional, only for GitHub.com to GHEC) Run
migrate-org.shto demo an org migration. - Run
gen-mannequin-mapping.shto demo generating a mannequin mapping file after a migration. - Fill out the third field of the
usermapping.csvfile, make sure the users are members of the org, then runreclaim-mannequins.sh. - Source repository locking/unlocking:
Demonstrate source repository locking by settingLOCK_SOURCE_REPOtotrueinsetenv.shand runningmigrate-repo.sh.
Unlock the source repository by runningsource-lock-remove.sh.
The process to migrate repos that contain files larger than 100mb is as follows:
- Migrate the repo to LFS on the source system.
- Migrate the repo using GEI
- Migrate the LFS files as described here.
Note: Due to an issue with LFS, it's better to run the following, rather than
git lfs push github --allfor object_id in $(git lfs ls-files --long | awk '{print $1}'); do git lfs push --object-id github "$object_id" done