跳至主要内容

关于已锁定的仓库

仓库可以被锁定以防止更改,通常用于迁移。

关于已锁定的仓库

当您将仓库迁移到 GitHub 产品或从 GitHub 产品迁出时,您的源仓库和目标仓库可能会被“锁定”进行迁移。在仓库被锁定期间,您无法对其进行任何更改,例如推送提交、创建议题或在拉取请求上发表评论。

仓库在迁移期间是否会被锁定取决于您使用的工具以及运行迁移时选择的选项。当仓库被锁定时,GitHub 上的仓库页面会显示带有以下文字的横幅。

此仓库当前正在迁移中。迁移进行期间,它已被锁定。

通常情况下,迁移完成后仓库会自动解锁。其他情况下,解锁仓库需要手动操作,具体解锁流程取决于您使用的迁移工具。

由 GitHub Enterprise Importer 锁定的仓库

当迁移进行中时,GitHub Enterprise Importer 会锁定对目标仓库的访问。如果迁移成功完成,仓库会自动解锁。然而,如果迁移出现问题,包括迁移失败,仓库可能仍保持锁定状态。

GitHub Enterprise Importer 默认不会锁定源仓库。只有在您使用 GitHub CLI 指定 --lock-source-repo 选项,或在 startRepositoryMigration GraphQL 变更中使用 lockSource 属性时,源仓库才会被锁定。

注意

除非您确信之后不会想要解锁,否则我们不建议锁定源仓库。建议改为归档仓库。更多信息,请参阅 归档仓库

有关如何解锁被 GitHub Enterprise Importer 锁定的仓库,请参阅 使用 GitHub Enterprise Importer 进行迁移的故障排除

由 “组织迁移” REST API 锁定的仓库

当您调用 启动组织迁移 接口为源仓库生成迁移归档时,默认情况下仓库不会被锁定。只有在将 lock_repositories 参数设置为 true 时,仓库才会被锁定。

如果您通过此接口锁定了仓库,可以使用 解锁组织仓库 接口来解锁该仓库。

如果仓库位于 GitHub Enterprise Server 上,站点管理员也可以通过站点管理员仪表盘解锁该仓库。更多信息,请参阅 GitHub Enterprise Server 文档中的 锁定仓库

ghe-migrator 锁定的仓库

使用 ghe-migrator 时,GitHub Enterprise Server 上的目标仓库默认会被锁定,且不会自动解锁。

如果导入成功,您可以使用 ghe-migrator unlock 命令解锁仓库。更多信息,请参阅 迁移数据到 GitHub Enterprise Server

如果导入失败,说明您的部分数据未被迁移,我们建议删除该仓库并重新进行迁移,以防止数据丢失。

如果您确定要使用该仓库,站点管理员可以通过站点管理员仪表盘解锁仓库。更多信息,请参阅 GitHub Enterprise Server 文档中的 锁定仓库

源仓库默认不被锁定,仅当使用 ghe-migrator add 命令准备导出仓库时指定了 --lock 参数才会锁定。要解锁仓库,请使用 ghe-migrator unlock 命令。更多信息,请参阅 迁移数据到 GitHub Enterprise Server

startImport GraphQL 变更锁定的仓库

使用 startImport GraphQL 变更时,目标仓库默认被锁定,且不会自动解锁。

如果导入成功,您可以使用 unlockImportedRepositories GraphQL 变更来解锁仓库。有关文档,请联系您的专家服务或 GitHub 合作伙伴代表。

如果导入失败,您无法自行解锁仓库。由于迁移失败意味着并非所有数据都已迁移,建议删除该仓库并重新进行迁移,以防止数据丢失。

如果您确定要解锁仓库,请通过 GitHub 支持门户 与我们联系。

© . This site is unofficial and not affiliated with GitHub, Inc.