我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2020-08-20. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

文章版本: Enterprise Server 2.18

解决迁移冲突或设置自定义映射

在导入迁移数据之前,您可以进行修改以解决冲突、重命名传入的记录或将传入的记录映射到现有记录。

本文内容

以下步骤可用于解决冲突或向迁移添加自定义映射。

解决冲突

如果您认为 ghe-migrator 将执行不正确的变更,可以更改 conflicts.csv 中的数据,进行修改。 您可以更改 conflicts.csv 中的任意行。

例如,我们假设您注意到源中的 octocat 用户正在被映射到目标上的 octocat

model_namesource_urltarget_urlrecommended_action
用户https://example-gh.source/octocathttps://example-gh.target/octocatmap

您可以选择将用户映射到目标上的其他用户。 假设您知道 octocat 在目标上应当是 monalisa。 您可以更改 conflicts.csv 中的 target_url 列以指代 monalisa

model_namesource_urltarget_urlrecommended_action
用户https://example-gh.source/octocathttps://example-gh.target/monalisamap

另外,如果您想在目标实例上将 octo-org/widgets 仓库重命名为 octo-org/amazing-widgets,请将 target_url 更改为 octo-org/amazing-widgets,以及将 recommend_action 更改为 rename

model_namesource_urltarget_urlrecommended_action
仓库https://example-gh.source/octo-org/widgetshttps://example-gh.target/octo-org/amazing-widgetsrename

添加自定义映射

迁移过程中一个常见的情况是,迁移用户的用户名在目标上与在源上不同。

如果拥有源中的用户名列表和目标上的用户名列表,您可以通过自定义映射构建一个 CSV 文件,然后应用此文件,确保迁移结束时每个用户的用户名和内容都有正确的映射。

您可以使用 ghe-migrator audit 命令,快速生成应用自定义映射所需的迁移用户的 CSV 文件:

$ ghe-migrator audit -m user -g MIGRATION_GUID > users.csv

现在,您可以编辑该 CSV,并为您想要映射或重命名的每个用户输入新的 URL,然后根据需要将第四列更新为 maprename

例如,要在目标 https://example-gh.target 上将用户 octocat 重命名为 monalisa,您需要创建一个包含以下内容的行:

model_namesource_urltarget_urlstate
用户https://example-gh.source/octocathttps://example-gh.target/monalisarename

可以使用相同的流程为支持自定义映射的每个记录创建映射。 更多信息请参见记录的可能映射表

应用修改的迁移数据

  1. 进行更改后,请使用 scp 命令将修改后的 conflicts.csv(或格式正确的任何其他映射 csv)应用到目标实例:

    $ scp -P 122 ~/Desktop/conflicts.csv admin@hostname:/home/admin/
  2. 使用 ghe-migrator map 命令重新映射迁移数据,并传入修改后的 csv 文件的路径和迁移 GUID:

    $ ghe-migrator map -i conflicts.csv  -g MIGRATION_GUID
  3. 如果 ghe-migrator map -i conflicts.csv -g MIGRATION_GUID 命令报告冲突仍然存在,请重新运行迁移冲突解决流程。

问问别人

找不到要找的内容?

联系我们