Help us learn about your current experience with the documentation. Take the survey.

将你的项目从 Gitea 导入到 GitLab

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

将你的项目从 Gitea 导入到 GitLab。

Gitea 导入器可以导入:

  • 仓库描述
  • Git 仓库数据
  • 问题(Issues)
  • 拉取请求(Pull requests)
  • 里程碑(Milestones)
  • 标签(Labels)

导入时:

  • 仓库的公开访问权限会被保留。如果 Gitea 中的仓库是私有的,在 GitLab 中也会创建为私有仓库。
  • 导入的问题、合并请求和评论在 GitLab 中会有 已导入 标识。

已知问题

  • 由于 Gitea 不是 OAuth 提供商,作者或指派人无法映射到你的 GitLab 实例上的用户。项目创建者(通常是启动导入过程的用户)会被设置为作者。对于问题,你仍然可以看到原始的 Gitea 作者。
  • Gitea 导入器不导入拉取请求的差异注释。更多信息请参见 此问题

先决条件

  • Gitea 版本 1.0.0 或更高版本。
  • 必须启用 Gitea 导入源。 如果未启用,请让你的 GitLab 管理员启用它。Gitea 导入源在 GitLab.com 上默认启用。
  • 在要导入的目标群组上至少拥有 Maintainer 角色。

导入你的 Gitea 仓库

创建新项目时会显示 Gitea 导入器页面。开始 Gitea 导入:

  1. 在左侧边栏顶部,选择 新建 plus )和 新项目/仓库
  2. 选择 Gitea 开始导入授权流程。

使用个人访问令牌授权访问你的仓库

使用此方法,你只需一次性授权 Gitea,授予 GitLab 访问你仓库的权限:

  1. 前往 https://your-gitea-instance/user/settings/applications(将 your-gitea-instance 替换为你的 Gitea 实例的主机地址)。
  2. 选择 生成新令牌
  3. 输入令牌描述。
  4. 选择 生成令牌
  5. 复制令牌哈希值。
  6. 返回 GitLab 并将令牌提供给 Gitea 导入器。
  7. 选择 列出你的 Gitea 仓库,等待 GitLab 读取 你的仓库信息。完成后,GitLab 会显示导入器页面,供你选择要导入的仓库。

选择要导入的仓库

授权访问你的 Gitea 仓库后,你将被 重定向到 Gitea 导入器页面。

在那里,你可以查看你的 Gitea 仓库的导入状态:

  • 正在导入的显示为已开始状态。
  • 已成功导入的显示为绿色完成状态。
  • 尚未导入的在表格右侧有 导入
  • 已导入的在表格右侧有 重新导入

你还可以:

  • 在左上角选择 导入所有项目 一次性导入所有 Gitea 项目。
  • 按名称过滤项目。如果应用了过滤器,导入所有项目 只会导入选中的项目。
  • 如果你有权限,可以为项目选择不同的名称和不同的命名空间。

用户贡献和成员映射

Gitea 导入器使用一种 改进的方法 来映射 GitLab.com 和 GitLab Self-Managed 的用户贡献。

旧的用户贡献映射方法

你可以使用旧的用户贡献映射方法导入到 GitLab Self-Managed 和 GitLab Dedicated 实例。 要使用此方法,必须禁用 gitea_user_mapping。 对于导入到 GitLab.com,你必须 使用 改进的方法

使用旧方法时,用户贡献默认分配给项目创建者(通常是启动导入过程的用户)。