Project import/export

Project import/export

版本历史

  • 在 GitLab 8.9 中引入 .
  • 从 GitLab 10.0,管理员可以在 GitLab 实例上禁用项目导出选项.

可以将在任何 GitLab 实例或 GitLab.com 上运行的现有项目及其所有相关数据导出,并移入新的 GitLab 实例.

如果启用了项目导入选项,则会显示GitLab 导入/导出按钮.

也可以看看:

设置项目导入/导出:

  1. 导航 管理区> 设置>可见性和访问控制 .
  2. 滚动到导入源
  3. 启用所需的导入源

请注意以下几点:

  • 不支持从较新版本的 GitLab 导入. 导入的 GitLab 版本必须大于或等于导出的 GitLab 版本.
  • 除非导入和导出 GitLab 实例与描述的兼容,否则导入将失败.
  • 导出存储在一个临时共享目录中 ,并由特定工作人员每 24 小时删除一次.
  • 只要用户对所导出项目所在的组具有维护者或管理员访问权限,组成员就会作为项目成员导出.
  • 具有所有者访问权限的项目成员将被导入为维护者.
  • 使用管理员帐户导入将通过电子邮件地址映射用户(仅限自我管理). 否则,将留下补充评论,以提及原始作者和 MR,注释或问题将归进口商所有.
  • 如果导入的项目包含源自派生的合并请求,则将在导入/导出期间在项目内创建与此类合并请求关联的新分支. 因此,导出项目中的分支数量可能会大于原始项目中的分支数量.

Version history

从 GitLab 13.0 开始,GitLab 可以导入从其他 GitLab 部署导出的捆绑软件. 此功能仅限于之前的两个 GitLab 次要发行版,这与我们的流程类似.

例如:

在 13.0 之前,这是一个已定义的兼容性表:

只能在具有匹配导入/导出版本的 GitLab 版本之间导出和导入项目.

您可以将项目从Community Edition导出 ,反之亦然. 假定满足版本历史记录要求.

如果要将项目从企业版导出到社区版,则可能会丢失仅保留在企业版中的数据. 有关更多信息,请参阅 .

Exported contents

将导出以下项目:

  • 项目和 Wiki 存储库
  • 项目上传
  • 注释问题,带有差异和注释的合并请求,标签,里程碑,摘要,时间跟踪和其他项目实体
  • 设计管理文件和数据
  • LFS 对象
  • 发行板
  • 管道历史

以下项目将不会导出:

  • 建立痕迹和工件
  • 容器注册表映像
  • 可变配置项
  • Webhooks
  • 任何加密令牌
  • 合并请求批准者
  • 推送规则
  • Awards

注意:有关项目导出中的特定数据的更多详细信息,请参阅文件.

  1. 转到项目的主页.

  2. 请点击 侧栏中的设置 .

  3. 向下滚动以找到” 导出项目”按钮:

  4. 生成导出后,您应该会收到一封电子邮件,其中包含用于下载文件的链接:

  5. 或者,您可以返回项目设置并从那里下载文件,或生成新的导出. 文件可用后,页面应显示” 下载导出”按钮:

    Download export

Importing the project

  1. 在创建新项目时,GitLab 项目导入功能是第一个导入选项. 点击GitLab 导出

  2. 输入您的项目名称和 URL. 然后选择您之前导出的文件:

注意:如果” 可见性级别的使用受到限制 ,则所有导入的项目都将获得” 的可见性.注意:可以由管理员设置最大导入文件大小,默认为 50MB. 作为管理员,您可以修改最大导入文件大小. 为此,请在” 或” 管理界面”中使用选项.

您可以通过查询导入. 如 API 文档中所述,查询可能返回导入错误或异常.

如果您的项目较大,请考虑使用 Rake 任务,如开发人员文档中所述 .