关于模特
使用 GitHub Enterprise Importer 运行迁移后,迁移存储库中的所有用户活动(Git 提交除外)都归因于称为模特的占位符标识。
每个模特只有一个显示名称,该名称来自源存储库中的显示名称。模特没有组织成员资格或存储库访问权限。模特始终使用相同的头像,即幽灵章鱼猫,并在显示名称后包含模特标签。
你可以使用 GitHub CLI 或在浏览器中将每个模特的历史记录重新归因给组织成员。如果你使用 GitHub CLI,则可以批量重新声明模特。
重新声明是可选的,可以在迁移完成后随时进行。因此,你可以在重新声明之前允许你的团队开始在已迁移的存储库中工作。
模特不会用于 Git 提交归因。有关提交归因的更多详细信息,请参阅下面的“管理提交提交的作者身份”。
回收模特
你可以使用 GitHub CLI(推荐)或浏览器回收模特。
默认情况下,回收模特会向目标用户发送归因邀请。
目标用户可以选择接受或拒绝邀请。用户接受归因邀请后,以前归因于模特的贡献将改而归因于用户。在未来迁移到同一组织时,来自同一模特的任何贡献将自动为同一用户回收。
如果你的组织使用企业托管用户,并且你选择使用 GitHub CLI 回收模特,你可以选择跳过邀请流程,在未经用户批准的情况下立即回收模特。
注释
- 将存储库转移到其他组织后,你无法回收模特。如果你希望在迁移后将存储库转移到其他组织,则必须在转移前回收模特。
- 回收模特时,你只能针对现有组织成员。在尝试回收模特之前,请验证你想要邀请的 GitHub 用户是否已添加到组织中。
GitHub Enterprise Importer 不会迁移用户对存储库的访问权限。回收模特后,如果任何用户尚未通过团队成员资格获得对存储库的适当访问权限,则你必须单独授予用户对存储库的访问权限。有关更多信息,请参阅“管理个人对组织存储库的访问权限”。
使用 GitHub CLI 回收模特(推荐)
你可以使用 GitHub CLI 单独或批量回收模特。有关安装和更新 GitHub CLI 的迁移扩展的更多信息,请参阅“关于 GitHub Enterprise Importer”。
你需要使用的确切命令取决于你正在使用的 GitHub CLI 的扩展。
使用 GEI 扩展回收模特
如果您的迁移源是 GitHub 产品,您可以使用 GitHub CLI 的 GEI 扩展来回收虚拟用户。
如果您尚未为具有访问目标组织权限的个人访问令牌设置 GH_PAT
环境变量,请将 --github-target-pat TOKEN
添加到以下每个命令中,并将 TOKEN
替换为个人访问令牌。有关个人访问令牌要求,请参阅“管理 GitHub 产品之间的迁移访问权限”。
-
或者,要批量回收虚拟用户,请创建一个 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
gh gei generate-mannequin-csv --github-target-org DESTINATION --output FILENAME.csv
-
编辑 CSV 文件,添加与每个虚拟用户对应的组织成员的用户名。
-
保存文件。
-
-
要回收虚拟用户,请使用
gh gei reclaim-mannequin
命令。-
要使用您之前创建的映射文件批量回收虚拟用户,请将 DESTINATION 替换为目标组织,将 FILENAME 替换为映射文件的文件名。
Shell gh gei reclaim-mannequin --github-target-org DESTINATION --csv FILENAME.csv
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
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 迁移的访问权限”。
-
或者,要批量回收虚拟用户,请创建一个 CSV 文件,将虚拟用户映射到组织成员。
-
要生成包含组织中假人列表的 CSV 文件,请使用
gh ado2gh generate-mannequin-csv
命令,并将 DESTINATION 替换为目标组织,并将 FILENAME 替换为结果 CSV 文件的文件名。或者,要包含已回收的虚拟用户,请添加
--include-reclaimed
标志。Shell gh ado2gh generate-mannequin-csv --github-org DESTINATION --output FILENAME.csv
gh ado2gh generate-mannequin-csv --github-org DESTINATION --output FILENAME.csv
-
编辑 CSV 文件,添加与每个虚拟用户对应的组织成员的用户名。
-
保存文件。
-
-
要回收假人,请使用
gh ado2gh reclaim-mannequin
命令。-
要使用您之前创建的映射文件批量回收虚拟用户,请将 DESTINATION 替换为目标组织,将 FILENAME 替换为映射文件的文件名。
Shell gh ado2gh reclaim-mannequin --github-org DESTINATION --csv FILENAME.csv
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
gh ado2gh reclaim-mannequin --github-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
-
默认情况下,组织成员将通过电子邮件收到邀请,并且虚拟用户在成员接受邀请之前不会被回收。
在浏览器中回收假人
-
在 GitHub 的右上角,选择您的个人资料图片,然后单击 您的组织.
-
在组织旁边,单击设置。
-
在侧边栏的“访问”部分,单击 导入/导出。
-
在您要回收的假人的右侧,单击重新归因。
-
在搜索字段中,键入您要将假人的贡献归因到的组织成员的用户名,然后单击该成员。
注意:您只能向已经是组织成员的用户帐户发送归因邀请。
-
单击邀请。默认情况下,组织成员将通过电子邮件收到邀请,并且在成员接受邀请之前,假人不会被回收。
查看归因邀请的状态
您可以查看组织的所有归因邀请的状态。
- 已邀请:已向用户发送邀请,但用户尚未回复邀请。
- 已完成:用户已接受,或跳过了邀请过程。用户的贡献已重新归因。
- 已拒绝:用户选择不接受假人贡献的荣誉。
-
在 GitHub 的右上角,选择您的个人资料图片,然后单击 您的组织.
-
在组织旁边,单击设置。
-
在侧边栏的“访问”部分,单击 导入/导出。
-
在“ 导入/导出”下,单击归因邀请。
管理 Git 提交的作者身份
Git 提交的作者身份与假人无关,不能通过回收假人将其归因给 GitHub 用户。相反,提交作者身份根据在 Git 中创作提交时使用的电子邮件地址归因给 GitHub 上的用户帐户。
在许多情况下,用户可以通过将用于创作提交的电子邮件地址添加到其 GitHub 用户帐户来重新归因提交给自己。有关更多信息,请参阅“向您的 GitHub 帐户添加电子邮件地址”。
但是,如果您使用企业管理用户,用户无法将电子邮件地址添加到其 GitHub 用户帐户,因此将无法重新归因 Git 提交。只有由您的身份提供商 (IdP) 中用户的首要电子邮件地址创作的提交才会归因于托管用户帐户。
此外,由 GitHub 提供的 noreply
电子邮件地址创作的提交无法重新归因,因为您无法手动将 noreply
电子邮件地址添加到用户帐户。有关详细信息,请参阅“设置您的提交电子邮件地址”。