跳至主要内容

为 GitHub Enterprise Importer 重新声明模特

在迁移后,你可以将占位符标识或模特的历史记录分配给组织成员。

谁可以使用此功能?

组织所有者可以重新声明模特。

关于模特

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

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

Screenshot of the header of an issue comment. The commenter is labeled as a mannequin, and the "Mannequin" label is outlined in dark orange.

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

重新声明是可选的,可以在迁移完成后随时进行。因此,你可以在重新声明之前允许你的团队开始在已迁移的存储库中工作。

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

回收模特

你可以使用 GitHub CLI(推荐)或浏览器回收模特。

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

目标用户可以选择接受或拒绝邀请。用户接受归因邀请后,以前归因于模特的贡献将改而归因于用户。在未来迁移到同一组织时,来自同一模特的任何贡献将自动为同一用户回收。

如果你的组织使用企业托管用户,并且你选择使用 GitHub CLI 回收模特,你可以选择跳过邀请流程,在未经用户批准的情况下立即回收模特。

注释

  • 将存储库转移到其他组织后,你无法回收模特。如果你希望在迁移后将存储库转移到其他组织,则必须在转移前回收模特。
  • 回收模特时,你只能针对现有组织成员。在尝试回收模特之前,请验证你想要邀请的 GitHub 用户是否已添加到组织中。

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

你可以使用 GitHub CLI 单独或批量回收模特。有关安装和更新 GitHub CLI 的迁移扩展的更多信息,请参阅“关于 GitHub Enterprise Importer”。

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

使用 GEI 扩展回收模特

如果您的迁移源是 GitHub 产品,您可以使用 GitHub CLI 的 GEI 扩展来回收虚拟用户。

如果您尚未为具有访问目标组织权限的个人访问令牌设置 GH_PAT 环境变量,请将 --github-target-pat TOKEN 添加到以下每个命令中,并将 TOKEN 替换为个人访问令牌。有关个人访问令牌要求,请参阅“管理 GitHub 产品之间的迁移访问权限”。

  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。

      如果您的组织使用企业托管用户,并且您希望跳过归属邀请以立即回收虚拟用户,请添加 --skip-invitation 参数。

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

默认情况下,组织成员将通过电子邮件收到邀请,并且虚拟用户在成员接受邀请之前不会被回收。

使用 ADO2GH 扩展回收虚拟用户

如果您的迁移源是 Azure DevOps,您可以使用 GitHub CLI 的 ADO2GH 扩展来回收假人。

如果您还没有为具有访问目标组织权限的个人访问令牌设置 GH_PAT 环境变量,请将 --github-target-pat TOKEN 添加到以下每个命令中,并将 TOKEN 替换为个人访问令牌。有关个人访问令牌要求,请参阅“管理 Azure DevOps 迁移的访问权限”。

  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。

      如果您的组织使用企业托管用户,并且您希望跳过归属邀请以立即回收虚拟用户,请添加 --skip-invitation 参数。

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

默认情况下,组织成员将通过电子邮件收到邀请,并且虚拟用户在成员接受邀请之前不会被回收。

在浏览器中回收假人

  1. 在 GitHub 的右上角,选择您的个人资料图片,然后单击 您的组织.

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

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

  4. 在您要回收的假人的右侧,单击重新归因

  5. 在搜索字段中,键入您要将假人的贡献归因到的组织成员的用户名,然后单击该成员。

    注意:您只能向已经是组织成员的用户帐户发送归因邀请。

  6. 单击邀请。默认情况下,组织成员将通过电子邮件收到邀请,并且在成员接受邀请之前,假人不会被回收。

查看归因邀请的状态

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

  • 已邀请:已向用户发送邀请,但用户尚未回复邀请。
  • 已完成:用户已接受,或跳过了邀请过程。用户的贡献已重新归因。
  • 已拒绝:用户选择不接受假人贡献的荣誉。
  1. 在 GitHub 的右上角,选择您的个人资料图片,然后单击 您的组织.

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

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

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

    Screenshot of the "Import/Export" page for a repository. A tab, labeled "Attribution Invitations," is outlined in dark orange.

管理 Git 提交的作者身份

Git 提交的作者身份与假人无关,不能通过回收假人将其归因给 GitHub 用户。相反,提交作者身份根据在 Git 中创作提交时使用的电子邮件地址归因给 GitHub 上的用户帐户。

在许多情况下,用户可以通过将用于创作提交的电子邮件地址添加到其 GitHub 用户帐户来重新归因提交给自己。有关更多信息,请参阅“向您的 GitHub 帐户添加电子邮件地址”。

但是,如果您使用企业管理用户,用户无法将电子邮件地址添加到其 GitHub 用户帐户,因此将无法重新归因 Git 提交。只有由您的身份提供商 (IdP) 中用户的首要电子邮件地址创作的提交才会归因于托管用户帐户。

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