跳至主要内容

关于锁定仓库

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

关于锁定仓库

当您将仓库迁移到或从 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"。

由 Enterprise Cloud Importer 锁定的仓库

使用 Enterprise Cloud Importer 时,目标仓库默认处于锁定状态,不会自动解锁。

如果导入成功,您可以通过单击 Enterprise Cloud Importer 中的“解锁”按钮来解锁仓库。

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

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

startImport GraphQL 变异锁定的仓库

使用 startImport GraphQL 变异时,目标仓库默认处于锁定状态,不会自动解锁。

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

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

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