Skip to main content

回收 GitHub Enterprise Importer 的模型

迁移后,可以将占位符标识(模型)的历史记录分配给组织成员。

谁可以使用此功能?

Organization owners can reclaim mannequins.

关于模型

使用 GitHub Enterprise Importer 运行迁移后,已迁移的存储库中的所有用户活动(Git 提交除外)都归属于称为模型的占位符标识。

每个模型只有一个显示名称,该名称来自源存储库中的显示名称。 模型没有组织成员身份或存储库访问权限。 模型始终使用相同的头像(一个幽灵章鱼猫),并且显示名称后包含一个模型标签。

问题注释标头的屏幕截图。 评论者被标记为模型,“模型”标签用深橙色框标出。

可以使用 GitHub CLI 或在浏览器中将每个模型的历史记录重新归因给组织成员。 如果使用 GitHub CLI,则可以批量回收模型。

回收是可选的,可以在迁移完成后的任何时间进行。 因此,可以允许团队在回收之前开始使用已迁移的存储库。

模型不用于 Git 提交归属。 有关提交归属的更多详细信息,请参阅下面的“管理 Git 提交的作者身份”。

回收模型

可以使用 GitHub CLI 回收模型(推荐),也可以使用浏览器。

默认情况下,回收模型会向目标用户发送归属邀请。

目标用户可以选择接受或拒绝此邀请。 用户接受归属邀请后,之前归属于该模型的所有贡献都将改为归属于该用户。 在将来迁移到同一组织时,同一模型的任何贡献将自动回收给同一用户。

如果你的组织使用的是 Enterprise Managed Users,并且你选择使用 GitHub CLI 回收模型,则可以选择跳过邀请流程,在未经用户的批准的情况下直接回收该模型。

Note

  • 将存储库转移到其他组织后,无法回收模型。 如果要在迁移后将存储库转移到另一个组织,必须在转移之前回收模型。
  • 回收模型时,只能以现有组织成员为目标用户。 在尝试回收模型之前,请验证想要邀请的 GitHub 用户是否已添加到组织。

GitHub Enterprise Importer 不会迁移用户对存储库的访问权限。 回收模型后,如果有任何用户尚未通过团队成员身份获得对存储库的适当访问权限,则必须单独向该用户授予对存储库的访问权限。 有关详细信息,请参阅管理个人对组织存储库的访问

使用 GitHub CLI 回收模型(推荐)

可以使用 GitHub CLI 单独或批量回收模型。 有关如何安装并更新 GitHub CLI 的迁移扩展的详细信息,请参阅“关于 GitHub Enterprise Importer”。

需要使用的确切命令取决于所使用的 GitHub CLI 扩展。

使用 GEI extension

回收模型

如果迁移源是 GitHub 产品,则可以使用 GEI extension of the GitHub CLI 回收模型。

  • 如果还没有为具有目标组织访问权限的 personal access token 设置 GH_PAT 环境变量,请将 --github-target-pat TOKEN 添加到下面的每个命令中,将 TOKEN 替换为 personal access token。 有关 personal access token 要求,请参阅“管理 GitHub 产品之间迁移的访问权限”。
  • 如果要迁移到 GHE.com,请添加 --target-api-url TARGET-API-URL,其中 TARGET-API-URL 是企业的子域的基本 API URL。 例如:https://api.octocorp.ghe.com
  1. (可选)要批量回收模型,请创建一个将模型映射到组织成员的 CSV 文件。

    • 要生成包含组织模型列表的 CSV 文件,请使用 gh gei generate-mannequin-csv 命令,将 DESTINATION 替换为目标组织,将 FILENAME 替换为生成的 CSV 文件的文件名。

      (可选)若要包含已回收的模型,请添加 --include-reclaimed 标志。

      Shell
      gh gei generate-mannequin-csv --github-target-org DESTINATION --output FILENAME.csv
      
    • 编辑 CSV 文件,添加与每个模型相对应的组织成员的用户名。

    • 保存文件。

  2. 要回收模型,请使用 gh gei reclaim-mannequin 命令。

    • 若要使用之前创建的映射文件批量回收模型,请将 DESTINATION 替换为目标组织,将 FILENAME 替换为映射文件的文件名。

      Shell
      gh gei reclaim-mannequin --github-target-org DESTINATION --csv FILENAME.csv
      
    • 要回收单个模型,请将 DESTINATION 替换为目标组织,将 MANNEQUIN 替换为模型登录名,并将 USERNAME 替换为与该模型对应的组织成员的用户名。

      如果有多个具有相同登录名的模型,可以将 --mannequin-user MANNEQUIN 替换为 --mannequin-ID ID,将 ID 替换为模型 ID。

      如果你的组织使用 Enterprise Managed Users 并且你想要跳过属性邀请以立即回收模特,请添加 --skip-invitation 自变量。

      Shell
      gh gei reclaim-mannequin --github-target-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
      

默认情况下,组织成员会通过电子邮件接收邀请,在成员接受邀请之前,不会回收模型。

使用 ADO2GH extension

回收模型

如果迁移源是 Azure DevOps,则可以使用 ADO2GH extension of the GitHub CLI 回收模型。

  • 如果还没有为具有目标组织访问权限的 personal access token 设置 GH_PAT 环境变量,请将 --github-target-pat TOKEN 添加到下面的每个命令中,将 TOKEN 替换为 personal access token。 有关 personal access token 要求,请参阅“管理从 Azure DevOps 迁移的访问权限”。
  • 如果要迁移到 GHE.com,请添加 --target-api-url TARGET-API-URL,其中 TARGET-API-URL 是企业的子域的基本 API URL。 例如:https://api.octocorp.ghe.com
  1. (可选)要批量回收模型,请创建一个将模型映射到组织成员的 CSV 文件。

    • 要生成包含组织模型列表的 CSV 文件,请使用 gh ado2gh generate-mannequin-csv 命令,将 DESTINATION 替换为目标组织,将 FILENAME 替换为生成的 CSV 文件的文件名。

      (可选)若要包含已回收的模型,请添加 --include-reclaimed 标志。

      Shell
      gh ado2gh generate-mannequin-csv --github-org DESTINATION --output FILENAME.csv
      
    • 编辑 CSV 文件,添加与每个模型相对应的组织成员的用户名。

    • 保存文件。

  2. 要回收模型,请使用 gh ado2gh reclaim-mannequin 命令。

    • 若要使用之前创建的映射文件批量回收模型,请将 DESTINATION 替换为目标组织,将 FILENAME 替换为映射文件的文件名。

      Shell
      gh ado2gh reclaim-mannequin --github-org DESTINATION --csv FILENAME.csv
      
    • 要回收单个模型,请将 DESTINATION 替换为目标组织,将 MANNEQUIN 替换为模型登录名,并将 USERNAME 替换为与该模型对应的组织成员的用户名。

      如果有多个具有相同登录名的模型,可以将 --mannequin-user MANNEQUIN 替换为 --mannequin-ID ID,将 ID 替换为模型 ID。

      如果你的组织使用 Enterprise Managed Users 并且你想要跳过属性邀请以立即回收模特,请添加 --skip-invitation 自变量。

      Shell
      gh ado2gh reclaim-mannequin --github-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
      

默认情况下,组织成员会通过电子邮件接收邀请,在成员接受邀请之前,不会回收模型。

在浏览器中回收模型

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。

  2. 在组织旁边,单击“设置”。

  3. 在侧边栏的“访问”部分,单击“ 导入/导出”。

  4. 在要回收的模型右侧,单击“重新归属”。

  5. 在搜索字段中,键入要将模型的贡献归属给的组织成员的用户名,然后单击该成员。

    Note

    只能向已是组织成员的用户帐户发送归属邀请。

  6. 单击“邀请”。 默认情况下,组织成员会通过电子邮件接收邀请,在成员接受邀请之前,不会回收模型。

查看归属邀请的状态

可以查看组织的所有归属邀请的状态。

  • 已邀请:已向用户发送邀请,但用户尚未回复邀请。
  • 已完成:用户已接受邀请,或是邀请流程被跳过。 用户的贡献已经重新归属。
  • 已拒绝:用户选择不接受模型的贡献。
  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。

  2. 在组织旁边,单击“设置”。

  3. 在侧边栏的“访问”部分,单击“ 导入/导出”。

  4. 在“ 导入/导出”下,单击“归属邀请”。

    存储库“导入/导出”页的屏幕截图。 标记为“归属邀请”的选项卡用深橙色框标出。

管理 Git 提交的作者身份

Git 提交的作者身份与模型没有关联,无法通过回收模型归属给 GitHub 用户。 相反,根据用于在 Git 中创作提交的电子邮件地址,提交作者身份将归属于 GitHub 上的用户帐户。

在许多情况下,用户可以通过将用于创作提交的电子邮件地址添加到他们在 GitHub 上的用户帐户,来将提交重新归属于自己。 有关详细信息,请参阅“添加电子邮件地址到 GitHub 帐户”。

但是,如果使用 Enterprise Managed Users,则用户无法将电子邮件地址添加到他们在 GitHub 上的用户帐户,因此将无法重新归属于 Git 提交。 只有由标识提供者 (IdP) 中的用户的主要电子邮件地址创作的提交才会归属于 托管用户帐户。

此外,无法重新归属由 GitHub 提供的 noreply 电子邮件地址创作的提交,因为无法手动将 noreply 电子邮件地址添加到用户帐户。 有关详细信息,请参阅“设置提交电子邮件地址”。