注意:GitHub Enterprise Importer 目前为公共 beta 版,可能会有所变化。
关于模型
使用 GitHub Enterprise Importer 运行迁移后,已迁移的存储库中的所有用户活动(Git 提交除外)都归属于称为模型的占位符标识。
每个模型只有一个显示名称,该名称来自源存储库中的显示名称。 模型没有组织成员身份或存储库访问权限。 模型始终使用相同的头像(一个幽灵章鱼猫),并且显示名称后包含一个模型标签。
可以通过使用 GitHub CLI 或在浏览器中发送归属邀请,将每个模型的历史记录重新归因给组织成员。 如果使用 GitHub CLI,则可以批量回收模型。 还可以查看所有归属邀请的状态。 在人员接受邀请后,将回收该模型。
回收是可选的,可以在迁移完成后的任何时间进行。 因此,可以允许团队在回收之前开始使用已迁移的存储库。
模型不用于 Git 提交归属。 有关提交归属的更多详细信息,请参阅下面的“管理 Git 提交的作者身份”。
回收模型
可以通过使用 GitHub CLI 或在浏览器中向组织成员发送归属邀请来回收模型。
注意:只能向组织成员发送归属邀请。 在尝试回收模型之前,请验证想要邀请的 GitHub 用户是否已添加到组织。
成员可以选择接受或拒绝邀请。 成员接受归属邀请后,之前归属于该模型的所有贡献都将改为归属于该成员。 在将来迁移到同一组织时,同一模型的任何贡献将自动回收给同一成员。
GitHub Enterprise Importer 不会迁移用户对存储库的访问权限。 回收模型后,如果有任何成员尚未通过团队成员身份获得对存储库的适当访问权限,则必须单独向该成员授予对存储库的访问权限。 有关详细信息,请参阅管理个人对组织存储库的访问。
可以使用 GitHub CLI 回收模型(推荐),也可以使用浏览器。
使用 GitHub CLI 回收模型(推荐)
可以使用 GitHub CLI 单独或批量回收模型。 有关如何安装并更新 GitHub CLI 的迁移扩展的详细信息,请参阅“使用 GitHub Enterprise Importer 迁移存储库”。
需要使用的确切命令取决于所使用的 GitHub CLI 扩展。
使用 GEI extension 回收模型
如果迁移源是 GitHub 产品,则可以使用 GEI extension of the GitHub CLI 回收模型。
If you don't already have a GH_PAT
environment variable set for a personal access token with access to the destination organization, add --github-target-pat TOKEN
to each of the commands below, replacing TOKEN
with the personal access token. For personal access token requirements, see "管理 GitHub Enterprise Importer 的访问权限."
-
(可选)要批量回收模型,请创建一个将模型映射到组织成员的 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 文件,添加与每个模型相对应的组织成员的用户名。
-
保存文件。
-
-
要回收模型,请使用
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。Shell gh gei reclaim-mannequin --github-target-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
-
-
The organization member will receive an invitation via email, and the mannequin will not be reclaimed until the member accepts the invitation.
使用 ADO2GH extension 回收模型
如果迁移源是 Azure DevOps,则可以使用 ADO2GH extension of the GitHub CLI 回收模型。
If you don't already have a GH_PAT
environment variable set for a personal access token with access to the destination organization, add --github-target-pat TOKEN
to each of the commands below, replacing TOKEN
with the personal access token. For personal access token requirements, see "管理 GitHub Enterprise Importer 的访问权限."
-
(可选)要批量回收模型,请创建一个将模型映射到组织成员的 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 文件,添加与每个模型相对应的组织成员的用户名。
-
保存文件。
-
-
要回收模型,请使用
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。Shell gh ado2gh reclaim-mannequin --github-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
-
-
The organization member will receive an invitation via email, and the mannequin will not be reclaimed until the member accepts the invitation.
在浏览器中回收模型
-
在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“你的组织”。
2. 在组织旁边,单击“设置”。 1. 在侧边栏的“访问”部分,单击“ 导入/导出”。 -
在要回收的模型右侧,单击“重新归属”。
-
在搜索字段中,键入要将模型的贡献归属给的组织成员的用户名,然后单击该成员。
注意:只能向已是组织成员的用户帐户发送归属邀请。
-
单击“邀请”。
-
The organization member will receive an invitation via email, and the mannequin will not be reclaimed until the member accepts the invitation.
查看归属邀请的状态
可以查看组织的所有归属邀请的状态。
- 已邀请:用户尚未回复邀请。
- 已完成:用户已接受,其贡献已重新归属。
- 已拒绝:用户选择不接受模型的贡献。
-
在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“你的组织”。
2. 在组织旁边,单击“设置”。 1. 在侧边栏的“访问”部分,单击“ 导入/导出”。 -
在“ 导入/导出”下,单击“归属邀请”。
管理 Git 提交的作者身份
Git 提交的作者身份与模型没有关联,无法通过回收模型归属给 GitHub 用户。 相反,根据用于在 Git 中创作提交的电子邮件地址,提交作者身份将归属于 GitHub 上的用户帐户。
在许多情况下,用户可以通过将用于创作提交的电子邮件地址添加到他们在 GitHub 上的用户帐户,来将提交重新归属于自己。 有关详细信息,请参阅“添加电子邮件地址到 GitHub 帐户”。
但是,如果使用 Enterprise Managed Users,则用户无法将电子邮件地址添加到他们在 GitHub 上的用户帐户,因此将无法重新归属于 Git 提交。 只有由标识提供者 (IdP) 中的用户的主要电子邮件地址创作的提交才会归属于 托管用户帐户。
此外,无法重新归属由 GitHub 提供的 noreply
电子邮件地址创作的提交,因为无法手动将 noreply
电子邮件地址添加到用户帐户。 有关详细信息,请参阅“设置提交电子邮件地址”。