1. Project import/export
原文:https://docs.gitlab.com/ee/user/project/settings/import_export.html
2. Project import/export
版本历史
- 在 GitLab 8.9 中引入 .
 - 从 GitLab 10.0,管理员可以在 GitLab 实例上禁用项目导出选项.
 
可以将在任何 GitLab 实例或 GitLab.com 上运行的现有项目及其所有相关数据导出,并移入新的 GitLab 实例.
如果启用了项目导入选项,则会显示GitLab 导入/导出按钮.
也可以看看:
- Project import/export API
 - Project import/export administration Rake tasks
 - Group import/export
 - Group import/export API
 
设置项目导入/导出:
- 导航 管理区> 设置>可见性和访问控制 .
 - 滚动到导入源
 - 启用所需的导入源
 
2.1. Important notes
请注意以下几点:
- 不支持从较新版本的 GitLab 导入. 导入的 GitLab 版本必须大于或等于导出的 GitLab 版本.
 - 除非导入和导出 GitLab 实例与版本历史记录中描述的兼容,否则导入将失败.
 - 导出存储在一个临时共享目录中 ,并由特定工作人员每 24 小时删除一次.
 - 只要用户对所导出项目所在的组具有维护者或管理员访问权限,组成员就会作为项目成员导出.
 - 具有所有者访问权限的项目成员将被导入为维护者.
 - 使用管理员帐户导入将通过电子邮件地址映射用户(仅限自我管理). 否则,将留下补充评论,以提及原始作者和 MR,注释或问题将归进口商所有.
 - 如果导入的项目包含源自派生的合并请求,则将在导入/导出期间在项目内创建与此类合并请求关联的新分支. 因此,导出项目中的分支数量可能会大于原始项目中的分支数量.
 
2.2. Version history
2.2.1. 13.0+
从 GitLab 13.0 开始,GitLab 可以导入从其他 GitLab 部署导出的捆绑软件. 此功能仅限于之前的两个 GitLab 次要发行版,这与我们的安全发布流程类似.
例如:
| 当前版本 | 可以导入从 | 
|---|---|
| 13.0 | 13.0, 12.10, 12.9 | 
| 13.1 | 13.1, 13.0, 12.10 | 
2.2.2. 12.x
在 13.0 之前,这是一个已定义的兼容性表:
| 导出 GitLab 版本 | 导入 GitLab 版本 | 
|---|---|
| 11.7 至 12.10 | 11.7 至 12.10 | 
| 11.1 至 11.6 | 11.1 至 11.6 | 
| 10.8 至 11.0 | 10.8 至 11.0 | 
| 10.4 至 10.7 | 10.4 至 10.7 | 
| 10.3 | 10.3 | 
| 10.0 至 10.2 | 10.0 至 10.2 | 
| 9.4 至 9.6 | 9.4 至 9.6 | 
| 9.2 至 9.3 | 9.2 至 9.3 | 
| 8.17 至 9.1 | 8.17 至 9.1 | 
| 8.13 至 8.16 | 8.13 至 8.16 | 
| 8.12 | 8.12 | 
| 8.10.3 至 8.11 | 8.10.3 至 8.11 | 
| 8.10.0 至 8.10.2 | 8.10.0 至 8.10.2 | 
| 8.9.5 至 8.9.11 | 8.9.5 至 8.9.11 | 
| 8.9.0 至 8.9.4 | 8.9.0 至 8.9.4 | 
只能在具有匹配导入/导出版本的 GitLab 版本之间导出和导入项目.
例如,8.10.3 和 8.11 具有相同的导入/导出版本(0.1.3),它们之间的导出将兼容.
2.3. Between CE and EE
您可以将项目从Community Edition导出到 Enterprise Edition ,反之亦然. 假定满足版本历史记录要求.
如果要将项目从企业版导出到社区版,则可能会丢失仅保留在企业版中的数据. 有关更多信息,请参阅从 EE 降级为 CE .
2.4. Exported contents
将导出以下项目:
- 项目和 Wiki 存储库
 - 项目上传
 - 项目配置,不包括集成
 - 注释问题,带有差异和注释的合并请求,标签,里程碑,摘要,时间跟踪和其他项目实体
 - 设计管理文件和数据
 - LFS 对象
 - 发行板
 - 管道历史
 
以下项目将不会导出:
- 建立痕迹和工件
 - 容器注册表映像
 - 可变配置项
 - Webhooks
 - 任何加密令牌
 - 合并请求批准者
 - 推送规则
 - Awards
 
注意:有关项目导出中import_export.yml的特定数据的更多详细信息,请参阅import_export.yml文件.
2.5. Exporting a project and its data
转到项目的主页.
请点击 侧栏中的设置 .
向下滚动以找到" 导出项目"按钮:
生成导出后,您应该会收到一封电子邮件,其中包含用于下载文件的链接:
或者,您可以返回项目设置并从那里下载文件,或生成新的导出. 文件可用后,页面应显示" 下载导出"按钮:
2.6. Importing the project
在创建新项目时,GitLab 项目导入功能是第一个导入选项. 点击GitLab 导出 :
输入您的项目名称和 URL. 然后选择您之前导出的文件:
单击导入项目开始导入. 您新导入的项目页面将很快出现.
注意:如果" Internal可见性级别的使用受到限制 ,则所有导入的项目都将获得" Private的可见性.注意:可以由管理员设置最大导入文件大小,默认为 50MB. 作为管理员,您可以修改最大导入文件大小. 为此,请在" 应用程序设置" API或" 管理界面"中使用max_import_size选项.
2.6.1. Project import status
您可以通过Project import / export API查询导入. 如 API 文档中所述,查询可能返回导入错误或异常.
2.6.2. Import large projects
如果您的项目较大,请考虑使用 Rake 任务,如开发人员文档中所述 .
2.7. Rate limits
为了避免滥用,用户的速率仅限于:
| 请求类型 | Limit | 
|---|---|
| Export | 每 5 分钟 30 个项目 | 
| 下载导出 | 每 10 分钟有 10 个下载项目 | 
| Import | 每 5 分钟 30 个项目 | 




