1. Migrating projects to a GitLab instance
- Migrating from self-managed GitLab to GitLab.com
 - Migrating from GitLab.com to self-managed GitLab
 - Migrating between two self-managed GitLab instances
 
2. Migrating projects to a GitLab instance
- From Bitbucket Cloud
 - From Bitbucket Server (also known as Stash)
 - From ClearCase
 - From CVS
 - From FogBugz
 - From GitHub.com or GitHub Enterprise
 - From GitLab.com
 - From Gitea
 - From Perforce
 - From SVN
 - From TFVC
 - From repo by URL
 - By uploading a manifest file (AOSP)
 - From Gemnasium
 - From Phabricator
 - From Jira (issues only)
 
除了上述特定的迁移文档之外,您还可以从 New Project 页面通过 HTTP 导入任何 Git 存储库. 请注意,如果存储库太大,则导入可能会超时.
还可以选择连接您的外部存储库以获得 CI / CD 好处 .
2.1. Migrating from self-managed GitLab to GitLab.com
如果只需要迁移 Git 仓库,则可以通过 URL 导入每个项目 . 问题和合并请求无法导入.
如果要保留所有元数据(例如问题和合并请求),则可以使用导入/导出功能从自我管理的 GitLab 导出项目,并将这些项目导入 GitLab.com.
所有的 GitLab 用户关联(例如评论作者)都将更改为导入项目的用户. 有关更多信息,请参阅导入说明 .
如果您需要迁移所有数据,则可以利用我们的API从自我管理迁移到 GitLab.com. 从自我管理实例迁移到 GitLab.com 的资产顺序如下:
注意:迁移到 GitLab.com 时,除非要使用SCIM,否则需要手动创建用户. 使用 API创建用户仅限于自我管理的实例,因为它需要管理员访问权限.
请记住导入/导出功能的局限性.
您仍然需要通过一系列 Docker 推和推来迁移 Container Registry,并重新运行任何 CI 管道以检索任何构建工件.
2.2. Migrating from GitLab.com to self-managed GitLab
该过程与从自我管理的 GitLab 迁移到 GitLab.com的过程基本相同. 主要区别在于,管理员可以通过 UI 或用户 API在自助 GitLab 实例上创建用户 .
2.3. Migrating between two self-managed GitLab instances
The best method for migrating from one GitLab instance to another, perhaps from an old server to a new server for example, is to back up the instance, then restore it on the new server.
如果将两个 GitLab 实例合并在一起(例如,两个实例上都有现有数据,并且不能擦除),请参阅从自我管理的 GitLab 迁移到 GitLab.com 中的说明 .
此外,您可以将用户API与管理员用户一起使用来迁移用户.